简单的问题——我需要一个下载管理器、控制台、GUI,没关系。问题在于以下功能:
自定义标头——我必须传递一个 cookie 才能下载(授权)
恢复——所以如果下载因任何原因停止,我可以从 50%(例如)继续,而不是从开始
重试——这样程序就可以自动尝试建立连接并再次下载
自定义文件名输出——所以我可以给出特定的文件名,数据去哪里
和动态重定向——所以如果我向服务器询问文件X
,而服务器回答“好的,这里是X?token=767
”下载器将接受原始名称—— X
(即它会认为它与我要求的相同)
因为我更喜欢控制台,所以到目前为止我尝试了 wget、curl、aria2c。他们都失败了。wget 不处理自定义文件名输出(它只是一个文件的转储)并且它被重定向“愚弄”——即与上面的例子一样,它会将数据存储在文件中X?token=767
,这实际上破坏了恢复和重试,因为每次重新连接令牌都会发生变化。
aria2c 和 curl 甚至没有开始下载。我的猜测是,他们根本不接受重定向,aria2c 一次又一次地以 0 字节下载重试,但没有成功,curl 从服务器下载响应,文件被移动到X?token=767
.
为了记录,在我的下载命令下面:
获取
wget -rc --no-cookies --header "Cookie: COOKIEKEY=COOKIEVALUE" \
"https://www.foo.bar/file.gz"
Run Code Online (Sandbox Code Playgroud)
咏叹调2c
aria2c -o f.gz --check-certificate=false -c -m0 \
--header="Cookie: COOKIEKEY=COOKIEVALUE" \
"https://www.foo.bar/file.gz"
Run Code Online (Sandbox Code Playgroud)
卷曲
curl -o f.gz -C - --retry 1000 \
-H "Cookie: COOKIEKEY=COOKIEVALUE" \
"https://www.foo.bar/file.gz"
Run Code Online (Sandbox Code Playgroud)
小智 7
wget 重定向问题可以通过使用解决
wget --trust-server-names http://www.example.com/X?1234
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1224 次 |
最近记录: |