我尝试使用wget下载图像但出现如下错误。
--2011-10-01 16:45:42-- http://www.icerts.com/images/logo.jpg
Resolving www.icerts.com... 97.74.86.3
Connecting to www.icerts.com|97.74.86.3|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2011-10-01 16:45:43 ERROR 404: Not Found.
我的浏览器加载图片没有问题。 有什么问题? curl也无法下载。
感谢。
萨姆
答案 0 :(得分:16)
您需要在HTTP请求的标头中添加referer字段。使用wget,您只需要--header arg:
wget http://www.icerts.com/images/logo.jpg --header "Referer: www.icerts.com"
结果:
--2011-10-02 02:00:18-- http://www.icerts.com/images/logo.jpg
Résolution de www.icerts.com (www.icerts.com)... 97.74.86.3
Connexion vers www.icerts.com (www.icerts.com)|97.74.86.3|:80...connecté.
requête HTTP transmise, en attente de la réponse...200 OK
Longueur: 6102 (6,0K) [image/jpeg]
Sauvegarde en : «logo.jpg»
答案 1 :(得分:9)
如果您使用的是ipv6,服务器只接受ipv4,您也会收到404错误。
要使用ipv4,请发出添加-4:
的请求wget -4 http://www.php.net/get/php-5.4.13.tar.gz/from/this/mirror
答案 2 :(得分:9)
我的Google文档网址存在同样的问题。将URL括在引号中对我来说很有用:
// Note '?' after URLDictionary to check if URLDictionary is non-nil.
if let value = myClassInstance.URLDictionary?["Key"] {
stringProperty = value
}
答案 3 :(得分:3)
我遇到了同样的问题。 解决方法使用单引号解决此问题:
$ wget 'http://www.icerts.com/images/logo.jpg'
正在使用的wget版本:
$ wget --version
GNU Wget 1.11.4 Red Hat modified
答案 4 :(得分:1)
实际上我不知道确切的原因是什么,我已经遇到了类似的问题。 如果您拥有域的IP地址(例如208.113.139.4),请使用IP地址代替域(在这种情况下为www.icerts.com)
wget 192.243.111.11/images/logo.jpg
答案 5 :(得分:0)
如果您想通过键入从Wordpress网站下载页面,也会总是发生Wget 404错误
wget -r http://somewebsite.com
如果此网站是使用Wordpress构建的,则会出现这样的错误:
ERROR 404: Not Found.
由于网站内容存储在数据库中,并且wget无法获取 .php 文件,因此无法镜像Wordpress网站。这就是为什么您会收到Wget 404错误的原因。
我知道不是这个问题,因为Sam只想下载一张图片,但是对其他人可能会有帮助。
答案 6 :(得分:0)
我想在@blotus 的回答中添加一些内容,
如果添加引用标头不能解决问题,可能是您使用了错误的引用(有时引用与 URL 的域名不同)。
将 URL 粘贴到 Web 浏览器上,然后从开发者工具(网络 -> 请求标头)中找到引荐来源。