wget无法下载 - 404错误

时间:2011-10-01 23:47:06

标签: wget

我尝试使用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也无法下载。

感谢。

萨姆

7 个答案:

答案 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

转到网址https://ipinfo.info/html/ip_checker.php中查找IP

答案 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 浏览器上,然后从开发者工具(网络 -> 请求标头)中找到引荐来源。

相关问题