Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 22/12/2010, à 13:13

Link_Octree

Wget qui ne télécharge pas la page spécifiée, WTF o_0 ?

Hello,
Je rencontre un problème qui me laisse vraiment sans voix... Je vous laisse voir çà:

$ wget -O boulet.html http://twitter.com/justinbieber
--2010-12-22 12:05:53--  http://twitter.com/justinbieber
Resolving twitter.com... 128.242.240.212, 168.143.162.116, 128.242.245.180
Connecting to twitter.com|128.242.240.212|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 52909 (52K) [text/html]
Saving to: `boulet.html'

100%[==============================================================================================================================>] 52,909      57.1K/s   in 0.9s    

2010-12-22 12:05:54 (57.1 KB/s) - `boulet.html' saved [52909/52909]

Maintenant j'ouvre cote à cote boulet.html, et la page twitter que je viens de wget:
tNm9iNw

J'avoue ne vraiment pas comprendre pourquoi les deux pages sont pas les mêmes vu que j'ai wget l'une quelques secondes avant d'afficher l'autre online...

PS: J'ai vraiment besoin d'aide, c'est un projet sérieux pour faire autre chose que d'avoir le dernier tweet du dernier kikoo à la mode smile

Hors ligne

#2 Le 22/12/2010, à 18:23

pode

Re : Wget qui ne télécharge pas la page spécifiée, WTF o_0 ?

Lorsque tu ouvres une page avec un navigateur, en plus de simplement demander à récupérer une page web, le navigateur envoie divers en-têtes HTTP. En fonction des en-têtes, le serveur web peut répondre différemment.
Pour voir quels sont les en-têtes échangés entre le navigateur et le serveur, le must est d'utiliser le plug-in LiveHttpHeaders pour Firefox (je ne sais pas s'il y en a une version pour Chrome).

Le comportement peut aussi varier en fonction de cookies qu'aurait stockés le navigateur.
Firefox permet de visualiser les cookies utilisés, mais il y a aussi plein de plugs-in Firefox pour faire des choses plus poussées (par exemple : Add N Edit Cookies)

Pour le site que tu as donné en exemple, avec LiveHTTPHeaders, j'ai pu voir que, parmi tous les en-têtes envoyés par mon navigateur Firefox, il y avait (un peu tronqué) :

Accept-Language: fr,fr-FR

Donc, quand tu utilises la commande :

wget -O boulet.html http://twitter.com/justinbieber

le serveur va te renvoyer la page pour le langue par défaut, à savoir l'anglais.

Si tu veux la page en français, tu peux faire (avec wget ou avec curl) :

wget --header='Accept-Language: fr,fr-FR' -O boulet_fr_wget.html http://twitter.com/justinbieber
curl  -H 'Accept-Language: fr,fr-FR' -o boulet_fr_curl.html http://twitter.com/justinbieber

Si tu veux la page en italien, tu peux faire (avec wget ou avec curl) :

wget --header='Accept-Language: it,it-IT' -O boulet_it_wget.html http://twitter.com/justinbieber
curl  -H 'Accept-Language: it,it-IT' -o boulet_it_curl.html http://twitter.com/justinbieber

Un autre type d'en-tête induisant des comportements différents côté serveur est, typiquement, l'en-tête User-Agent.

Hors ligne