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