我尝试使用下载文件,wget
并且curl
它被拒绝并显示403错误(禁止)。
我可以使用同一台计算机上的Web浏览器查看文件。
我再次尝试使用浏览器的用户代理,该代理由http://www.whatsmyuseragent.com获得。我这样做:
wget -U 'Mozilla/5.0 (X11; Linux x86_64; rv:30.0) Gecko/20100101 Firefox/30.0' http://...
和
curl -A 'Mozilla/5.0 (X11; Linux x86_64; rv:30.0) Gecko/20100101 Firefox/30.0' http://...
但是还是禁止的。403可能还有其他原因,我可以通过哪些方式更改wget
和curl
命令以克服它们?
(这并不是要获取文件-我知道我可以从浏览器中保存文件;这是要了解为什么命令行工具的工作方式有所不同)
更新
感谢对此问题的所有出色回答。我遇到的特定问题是服务器正在检查引荐来源网址。通过将此添加到命令行中,我可以使用curl
和获得文件wget
。
检查引荐来源网址的服务器通过302跳到另一个根本不执行任何检查的位置,因此该站点的curl
或wget
站点工作正常。
如果有人感兴趣,那是因为我正在阅读此页面以了解嵌入式CSS,并试图以该站点的CSS为例。我遇到麻烦的实际URL是这个,而curl
我最终遇到的是
curl -L -H 'Referer: http://css-tricks.com/forums/topic/font-face-in-base64-is-cross-browser-compatible/' http://cloud.typography.com/610186/691184/css/fonts.css
而wget是
wget --referer='http://css-tricks.com/forums/topic/font-face-in-base64-is-cross-browser-compatible/' http://cloud.typography.com/610186/691184/css/fonts.css
很有意思。