J'ai essayé de télécharger une image à l'aide de wget mais j'ai eu une erreur comme celle-ci.
--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.
Mon navigateur n'a aucun problème à charger l'image . Quel est le problème? Curl ne peut pas télécharger non plus.
Merci.
Sam
Vous devez ajouter le champ référent dans les en-têtes de la requête HTTP. Avec wget, vous avez juste besoin de l'argument --header:
wget http://www.icerts.com/images/logo.jpg --header "Referer: www.icerts.com"
Et le résultat:
--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»
J'ai eu le même problème avec une URL Google Docs. Le fait de mettre l’URL entre guillemets a été très utile:
wget "https://docs.google.com/spreadsheets/export?format=tsv&id=1sSi9f6m-zKteoXA4r4Yq-zfdmL4rjlZRt38mejpdhC23" -O sheet.tsv
Vous obtiendrez également une erreur 404 si vous utilisez ipv6 et que le serveur accepte uniquement ipv4.
Pour utiliser ipv4, faites une demande en ajoutant -4:
wget -4 http://www.php.net/get/php-5.4.13.tar.gz/from/this/mirror
J'ai eu le même problème . Résolu en utilisant guillemets simples comme ceci:
$ wget 'http://www.icerts.com/images/logo.jpg'
version wget utilisée:
$ wget --version
GNU Wget 1.11.4 Red Hat modified
Une erreur Wget 404 se produit également si vous souhaitez télécharger les pages à partir du site Web Wordpress en tapant
wget -r http://somewebsite.com
Si ce site est construit en utilisant Wordpress, vous obtiendrez une telle erreur:
ERROR 404: Not Found.
Il n’ya aucun moyen de refléter le site Web Wordpress car le contenu du site Web est stocké dans la base de données et wget n’est pas en mesure de saisir .php fichiers. C'est pourquoi vous obtenez une erreur Wget 404.
Je sais que ce n'est pas le cas de cette question, car Sam ne souhaite télécharger qu'une seule image, mais cela peut être utile pour les autres.