2010-09-09 10 views
0

J'essaie de télécharger des pages distantes. Dans le code source, il y a une très longue ligne. Les deux curl et wget télécharger le fichier, mais décidez de manquer cette ligne. Y at-il un autre utilitaire de ligne de commande que je peux utiliser et/ou quelqu'un sait comment je peux résoudre ce problème. Puis-je clarifier, j'ai essayé avec wget et curl et les deux fichiers manquent la ligne.Téléchargement bizarre de page web en utilisant wget et curl

Edit:

[[email protected] scripts]$ curl --version 
curl 7.15.5 (x86_64-redhat-linux-gnu) libcurl/7.15.5 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5 
Protocols: tftp ftp telnet dict ldap http file https ftps 
Features: GSS-Negotiate IDN IPv6 Largefile NTLM SSL libz 
[[email protected] scripts]$ wget --version 
GNU Wget 1.11.4 Red Hat modified 

Copyright (C) 2008 Free Software Foundation, Inc. 
License GPLv3+: GNU GPL version 3 or later 
<http://www.gnu.org/licenses/gpl.html>. 
This is free software: you are free to change and redistribute it. 
There is NO WARRANTY, to the extent permitted by law. 

Originally written by Hrvoje Niksic <[email protected]>. 
Currently maintained by Micah Cowan <[email protected]>. 
+0

Comment savez-vous que la ligne est vraiment là? – recursive

+0

Je vais à http: //monsite.com/page.html ... voir le code source ... – Simon

+0

Si vous visualisez la source DOM en utilisant un navigateur, ce n'est peut-être pas la même chose que ce qui est dans le réel source téléchargée du serveur. Javascript, par exemple, peut transformer le document après qu'il a été téléchargé. – recursive

Répondre

1

Il y a deux explications probables pour ce qui se passe:

  1. Le serveur regarde l'agent utilisateur et décide de ne pas inclure cette ligne. C'est la moins probable des deux, mais wget vous permet de changer la chaîne de l'agent utilisateur, vous devriez donc être capable de contourner ce problème facilement.
  2. La ligne longue est construite sur le client, en utilisant JavaScript. C'est beaucoup plus probable, mais malheureusement pour vous, pas facile à répliquer dans un environnement de ligne de commande.

Pour vérifier, utilisez un outil tel que Fiddler pour voir ce qui se passe réellement sur le fil.

+0

Je visualise le code source non-rendu de la page. – Simon

+0

Et comment faites-vous cela? Si vous chargez la page avec votre navigateur et que vous sélectionnez "Afficher la source" dans le menu, vous ne voyez pas les octets bruts provenant du serveur. – Anon

-2

Pourquoi ne pas utiliser boucle OU wget? Les deux sont d'excellents outils pour ça!

0

Ecrire la version de wget/curl. Quelle est la longueur de cette ligne?

+0

voir le commentaire. Merci. – Simon