Mac 下使用curl解决迅雷不能使用离线下载的问题
前兩天迅雷離線下載的URL忽然不能使用了,但是直接通過web離線下載還是可以使用的。于是研究了一下使用curl下載,花了差不多8個小時間,寫了個腳本,可以抓取到迅雷使用的離線url。
先說一下迅雷的web離線流程:
1,從http://lixian.vip.xunlei.com/task.html 接收用戶名與密碼,提交驗證通過以后,轉入 http://dynamic.cloud.vip.xunlei.com/,并將必要的信息種入cookie.
2, 用戶從web頁面上對已完成的任務點擊“取回本地”以后,http://gdl.lixian.vip.xunlei.com/download 生成一個令牌,任務分派給云的cdn,生成一個重定向url(http 302 )返回給客戶端
3,客戶瀏覽器對重定向的url提交cookie,驗證以后便開始http下載。
可以看到,主要就是cookie里存放了session信息。那么,只要拿到這個cookie,就可以使用curl抓取離線資源URL,放到迅雷客戶端里,離線就能用了(迅雷客戶端應該是內置了一個cookie或使用其他認證).
說明白了就開始動手:
準備工作:安裝chrome和cookie.txt export 插件(可以在chrome web store下載到)。并準備好迅雷會員賬號。從github 下載https://github.com/lbaby/javalearn/blob/master/xl/src.tarsrc.tar包(點擊raw )。
1,打開chrome,到http://lixian.vip.xunlei.com/task.html 登陸,到了離線頁面,打開cookie.txt export 插件,把內容粘貼出來,保存為一個文件,名字隨便起,比如保存為cookie.xunlei
2,把從git 下載的src.tar 放到家目錄里,并解開。然后打開spotlight ,輸入terminal(或者程序->工具->終端) 打開。
3,在終端里輸入 ./xlurl.sh ~/cookie.xunlei(或者你上邊另存的cookie名字),等待一會兒,就會出一堆網址,這些網址就是你賬號下所有的離線任務,將這些網址復制到迅雷里就可以了。
需要注意的是,這些任務網址可能是臨時的,所以,一下子不要下載太多,否則網址有可能失效。
另外需要注意的是,下載這些任務以后,需要手工刪除離線任務。
-----------------------分隔線------------------------
下一步計劃:不使用迅雷下載
---------------------另外一個分隔線-------------
下2步計劃:不使用瀏覽器和插件,純腳本下載
總結
以上是生活随笔為你收集整理的Mac 下使用curl解决迅雷不能使用离线下载的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 空气净化器的研究概况
- 下一篇: python中pass关键字