提问: 当我用wget获取一个重定向到URL Y的URL X的时候,wget默认会自动获取URL Y。然而我想要强制获取不带重定向的URL X。我该如何禁用wget重定向URL的功能。
在HTTP标准中,重定向响应(带3XX的HTTP响应)说明请求的URL被移到了新的位置。重定向相应接着包含了目标重定向的URL。
像常规的HTTP客户端,wget支持URL重定向(也叫URL转发),意味着当你尝试下载一个重定向的URL时,wget会自动跟随URL重定向获取重定向后的资源。如果你由于一些原因想要禁用URL重定向,并停止3XX的状态码,你可以使用wget的“–max-redirect=number”选项。这个选项用来指定最大(递归)重定向的数字,默认是20。
如果你想要禁用wget中的HTTP重定向,使用“–max-redirect=0”
- $ wget —max–redirect=0 http://www.aaa.com/a.html
- —2014–10–3123:08:58— http://www.aaa.com/a.html
- Resolving aaa.com (aaa.com)…1.2.3.4
- Connecting to aaa.com (aaa.com)|1.2.3.4|:80... connected.
- HTTP request sent, awaiting response…301MovedPermanently
- Location: http://www.bbb.com/b.html [following]
- 0 redirections exceeded.
如你所见,当wget遇到HTTP重定向响应时,它不会跟着重定向,并以“0 redirections exceeded”(超出0次重定向)的错误信息停止。它同样会显示一个HTTP的状态码(比如301)。
注意一下curl,另外一个类似的HTTP客户端,行为正好相反。默认上,curl并不会跟随URL重定向。要强制使cutl重定向到一个URL,你要使用“-L”选项。
Linux wget命令详解 http://www.linuxidc.com/Linux/2012-08/67837.htm
Linux 下使用 wget/aria2 进行离线迅雷批量下载 http://www.linuxidc.com/Linux/2011-10/46052.htm
Linux使用wget请求地址时报错 http://www.linuxidc.com/Linux/2011-07/39345.htm
Linux下载命令wget使用详解 http://www.linuxidc.com/Linux/2011-01/30980.htm
wget 使用大全 http://www.linuxidc.com/Linux/2008-09/15722.htm
Linux 命令行下载工具 wget 的使用技巧 http://www.linuxidc.com/Linux/2007-10/8293.htm
wget 命令实例 http://www.linuxidc.com/Linux/2014-10/108733.htm
本文永久更新链接地址:http://www.linuxidc.com/Linux/2014-11/109916.htm