Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2461 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  telecharger une page web

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

telecharger une page web

n°1072623
carot0
Posté le 05-05-2005 à 02:23:41  profilanswer
 

slt tlm, voila je veux telecharger une page web pour en extraire des données pour un programme.
j'ai reussi mon code tout marche mais voila je rencontre un probleme precisement avec le site qui m'interesse.
 
j'ai realisé mes test a aprtir de ce site www.facultyof1000.com
 
avec du gethostbyname("www.facultyof1000.com" );
et une requete http "GET http://www.facultyof1000.com/whatsmyip.asp HTTP/1.0\n\n";
 
bon la tout marche avec des cout j'ai tout le contenu qui s'affiche ( d'ailleur si quelqu'un connait une solution simple pour viré l'entete du html, vous savez le "HTTP/1.1 200 OK......." )
je met l'adresse du site qui m'iteresse  
gethostbyname("xoap.weather.com" );
et en requete "GET http://xoap.weather.com/weather/lo [...] y=0&unit=m HTTP/1.0\n\n";
 
mais voila quand je lis ce qui arrive a l'ecrant ce n'est pas le contenu de la page ( qui existe avec le navigateur on tombe dessus ) mais une page qui dirait plutot que la page n'existe pas sur le serveur !
 
est ce quelqu'un voit d'ou peut venir mon probleme ?


---------------
In a world without walls and fences, who needs Windows and Gates
mood
Publicité
Posté le 05-05-2005 à 02:23:41  profilanswer
 

n°1072780
jan0
Posté le 05-05-2005 à 13:03:29  profilanswer
 

hum verifie si ya pas des caractères spéciaux dans ton url qui seraient susceptibles d'être interprétés par ton compilo. Sinon pour la fin de ligne, j'aurais plutôt mis \r\n mais bon.

n°1073321
carot0
Posté le 05-05-2005 à 21:00:30  profilanswer
 

jan0 a écrit :

hum verifie si ya pas des caractères spéciaux dans ton url qui seraient susceptibles d'être interprétés par ton compilo. Sinon pour la fin de ligne, j'aurais plutôt mis \r\n mais bon.


j'ai essayé avec des \r\n mais ca ne change rien et il ne semble pas y avoir de caracteres speciaux ( tu peut verifier j'ai donnée l'url )


---------------
In a world without walls and fences, who needs Windows and Gates
n°1073322
elianor
bannie 17 fois
Posté le 05-05-2005 à 21:03:20  profilanswer
 


 
C'est pas la peine de préciser le nom du serveur, tu es déjà dessus. Fais plutot :  
 
"GET /weather/local/FRXX0274?cc=*&par=0&prod=xoap&key=0&unit=m HTTP/1.0\n\n";


---------------
JE JE SUIS LIBERTINEEEEEEEEEEE JE SUIS UNE CATINNNNNNNNN §§§§§§§§
n°1073334
jan0
Posté le 05-05-2005 à 21:23:55  profilanswer
 

ya peut être un truc spécifique a mettre dans l'en-tete http, on sait jamais. Tu peux essayer de sniffer le traffic avec ethereal en affichant la page avec ton browser
 

Citation :

http://xoap.weather.com/weather/lo [...] y=0&unit=m
 
GET /weather/local/FRXX0274?cc=*&par=0&prod=xoap&key=0&unit=m HTTP/1.1
Host: xoap.weather.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; fr-FR; rv:1.7.7) Gecko/20050414 Firefox/1.0.3
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 30
Connection: keep-alive
Referer: http://forum.hardware.fr/hardwaref [...] 9531-1.htm
 
HTTP/1.x 200 OK
Date: Thu, 05 May 2005 19:24:25 GMT
Server: Apache
Content-Type: text/plain;charset=ISO-8859-1
Keep-Alive: timeout=3, max=9
Connection: Keep-Alive
Cache-Control: private
Content-Encoding: gzip
Content-Length: 588
----------------------------------------------------------


voila ce que me donne le plugin httpheaders pour firefox ( très pratique d'ailleurs)
en espèrant que ca puisse t'aider


Message édité par jan0 le 05-05-2005 à 21:29:41
n°1073812
nekromantt​iK
Pas une lumière !
Posté le 06-05-2005 à 12:46:26  profilanswer
 

il y a des chances que le site teste l'user agent pour etre sur que ce soit un navigateur qui accede aux données et pas un bot, ou une appli tierce.
nous on a le probleme contraire avec les site WAP, on doit faire passer le navigateur pour un telephone pour aller sur les sites :pt1cable:
 
essaye de te faire passer pour un navigateur [:spamafote]
je ne saurais comment te dire par contre :/


---------------
Leboncoin vers RSS | Je pisse sur les 4pat' mixer et sur les Bi impuissants  :o
n°1073822
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 06-05-2005 à 12:53:57  profilanswer
 

nekromanttiK a écrit :


essaye de te faire passer pour un navigateur [:spamafote]
je ne saurais comment te dire par contre :/


ben suffit de modifier le user-agent, j'ai oui dire que certains plugins utilisaient ce genre de ficelle... [:cupra]


---------------
J'ai un string dans l'array (Paris Hilton)
n°1073903
nekromantt​iK
Pas une lumière !
Posté le 06-05-2005 à 14:23:20  profilanswer
 

ce que je voulais dire c'est comment le faire specifiquement dans son programme (en c++).
 
en fait, en regardant un peu sur google, c'est simplement dans la requete à envoyer.


---------------
Leboncoin vers RSS | Je pisse sur les 4pat' mixer et sur les Bi impuissants  :o
n°1074530
carot0
Posté le 07-05-2005 à 09:22:10  profilanswer
 

nekromanttiK a écrit :

ce que je voulais dire c'est comment le faire specifiquement dans son programme (en c++).
 
en fait, en regardant un peu sur google, c'est simplement dans la requete à envoyer.


e nfait pas besoin, j'ai changé ma requete en ca : "GET /weather/lo [...] y=0&unit=m HTTP/1.0\r\nHost: xoap.weather.com\r\n\r\n";  
 
par contre je comprends pas si je remplace HTTP/1.0 par HTTP/1.1 bas ca marche pas une idée


---------------
In a world without walls and fences, who needs Windows and Gates
n°1135517
akewea
Posté le 30-06-2005 à 10:37:53  profilanswer
 

Salut tout le monde !
 
j'ai repris le mem code que toi, j'ai copié les header de firefox : ca marche sur certain site (genre celui que tu donnes en exemple), mais pas sur d'autres : www.trup.net : on dirait que le contenu est crypté ou compressé...
 
quelqu'un a une idée de comment le récupérer nickel ?
 
les header arrives correctement, mais pas la page... je vous le mets en dessous :
 

Citation :


HTTP/1.1 200 OK
Date: Thu, 30 Jun 2005 08:35:42 GMT
Server: Apache
X-Powered-By: PHP/4.3.11
Connection: close
Content-Type: text/html
Content-Encoding: gzip
Content-Length: 2711
 
zëÝEÐnÀ♂4╗çªÀ¸phëÂ┘PóJRv|ݲΥ↔|┐ÔfHIûlo#Õ░8Ó░☺∟ïúÖÅ├Ö◄g8‗pn↕1>∟╬↓ìÃçC├ì`Ò¸´■Æ◄ƒ|
»d×1↕3‗NFw亱◄úQnÏUãÊÿªå─9¨Q¬x↑:╣├♥ÇHÿídnLµ│Å9_î╝ù25,5■¹Uã<↕╣Ð╚3ýÌä8²§ëµTifF\K ¨
¾g⌂‗¤<↕:4┴Ë;óÿ↑y:Ü│ä♠»^zd«Ïtõß∟ùaÿÕJ♦R═┬8
Ö`      ÇÙ­,8♂+♀½QJ‼6‗ö£HúkZ╝x¹Í±5©ÿû╣èÿoÜ*Ã2╩◄⌂ƒ─ékn|:5L&#305;$×æÿ«¶.?══\n↑ (rÃûî¯Ë9
Ä☻AËYNgáïÁ☻►▀¢~y~zqQøj¬³Î´vg☻ÚÿÚH±╠pÖÍ°o©aDNº<ÔLá'gò╗&#305;»╗;♣w#ïáõÁói─╚%┴p┘;±↔[-ü┐n
,µ þc┼D♥ÆIÓR4µ↕#s@Æ\♥{&h─&↕$©Zðö♫ê`1¨╦2♠qb╣°Ã£╣ª╔╣í
ã‼¬Á²2Ó▲^►╩¹♥↕½<q ¬FLü♫é♂☺¼Z
╚éÑ╣&♠BÆâ"á£C£♥P&à kd¶<!9HR.►ó♣§gB╦t6 ↨↨↨└─üÃ‗J╦3ßrªh6Gk$Ȭ↔¾¿ñÝuº╬'▼XdjÌ|☼kÞ∟7
S←7v嵶 Mö OB³¸°■ ë´▀$©]P↕L#E┬¹@↨ÈQ=TÓë´▼▲∟L¾4┬ð┼░╚│c┴Yèû♥4r♫.£CãÇï‼☻ýƒÓs░áè▄ô◄9
♠4ãÊ p╣x├°ln u↨r'$|zUr»Â╣ ╩c3µ
╗ã£☺¾↕V+ùüäòÍuéL♀6▬‼╚┘#4╣æ┘╚Ù»·Ì@░;)Ï¡⌂☼ùK─åÙB◄á╠¡n@*ªÙ{Ì        N¸O°Èmɼl*e·XÕ‼à
±~R«↓‗/¿


---------------
Akewea [TRUp]
mood
Publicité
Posté le 30-06-2005 à 10:37:53  profilanswer
 

n°1135525
0x90
Posté le 30-06-2005 à 10:44:27  profilanswer
 

C'est tout simplement gzippé ( en même temps, c'est marqué dans le header... ), il me semble que dans ta requète tu peut préciser que tu veut pas de contenu gzippé  (cf. la RFC du protocole HTTP ;) ) sinon c'est pas sorcier a décompresser avec la lib kivabieng ...


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
n°1135530
esox_ch
Posté le 30-06-2005 à 10:46:51  profilanswer
 

akewea a écrit :

Salut tout le monde !
 
j'ai repris le mem code que toi, j'ai copié les header de firefox : ca marche sur certain site (genre celui que tu donnes en exemple), mais pas sur d'autres : www.trup.net : on dirait que le contenu est crypté ou compressé...
 
quelqu'un a une idée de comment le récupérer nickel ?
 
les header arrives correctement, mais pas la page... je vous le mets en dessous :
 

Citation :


HTTP/1.1 200 OK
Date: Thu, 30 Jun 2005 08:35:42 GMT
Server: Apache
X-Powered-By: PHP/4.3.11
Connection: close
Content-Type: text/html
Content-Encoding: gzip
Content-Length: 2711
 
zëÝEÐnÀ♂4╗çªÀ¸phëÂ┘PóJRv|ݲΥ↔|┐ÔfHIûlo#Õ░8Ó░☺∟ïúÖÅ├Ö◄g8‗pn↕1>∟╬↓ìÃçC├ì`Ò¸´■Æ◄ƒ|
»d×1↕3‗NFw亱◄úQnÏUãÊÿªå─9¨Q¬x↑:╣├♥ÇHÿídnLµ│Å9_î╝ù25,5■¹Uã<↕╣Ð╚3ýÌä8²§ëµTifF\K ¨
¾g⌂‗¤<↕:4┴Ë;óÿ↑y:Ü│ä♠»^zd«Ïtõß∟ùaÿÕJ♦R═┬8
Ö`      ÇÙ­,8♂+♀½QJ‼6‗ö£HúkZ╝x¹Í±5©ÿû╣èÿoÜ*Ã2╩◄⌂ƒ─ékn|:5L&#305;$×æÿ«¶.?══\n↑ (rÃûî¯Ë9
Ä☻AËYNgáïÁ☻►▀¢~y~zqQøj¬³Î´vg☻ÚÿÚH±╠pÖÍ°o©aDNº<ÔLá'gò╗&#305;»╗;♣w#ïáõÁói─╚%┴p┘;±↔[-ü┐n
,µ þc┼D♥ÆIÓR4µ↕#s@Æ\♥{&h─&↕$©Zðö♫ê`1¨╦2♠qb╣°Ã£╣ª╔╣í
ã‼¬Á²2Ó▲^►╩¹♥↕½<q ¬FLü♫é♂☺¼Z
╚éÑ╣&♠BÆâ"á£C£♥P&à kd¶<!9HR.►ó♣§gB╦t6 ↨↨↨└─üÃ‗J╦3ßrªh6Gk$Ȭ↔¾¿ñÝuº╬'▼XdjÌ|☼kÞ∟7
S←7v嵶 Mö OB³¸°■ ë´▀$©]P↕L#E┬¹@↨ÈQ=TÓë´▼▲∟L¾4┬ð┼░╚│c┴Yèû♥4r♫.£CãÇï‼☻ýƒÓs░áè▄ô◄9
♠4ãÊ p╣x├°ln u↨r'$|zUr»Â╣ ╩c3µ
╗ã£☺¾↕V+ùüäòÍuéL♀6▬‼╚┘#4╣æ┘╚Ù»·Ì@░;)Ï¡⌂☼ùK─åÙB◄á╠¡n@*ªÙ{Ì        N¸O°Èmɼl*e·XÕ‼à
±~R«↓‗/¿



 
Effectivement, il y a de fortes chances que ce soit encoder :D  
Edit : [:benou_grilled]


Message édité par esox_ch le 30-06-2005 à 10:47:55

---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1135564
theshockwa​ve
I work at a firm named Koslow
Posté le 30-06-2005 à 11:06:10  profilanswer
 

0x90 a écrit :

C'est tout simplement gzippé ( en même temps, c'est marqué dans le header... ), il me semble que dans ta requète tu peut préciser que tu veut pas de contenu gzippé  (cf. la RFC du protocole HTTP ;) ) sinon c'est pas sorcier a décompresser avec la lib kivabieng ...


 
 
il suffit aussi de ne pas prétendre supporter des fonctionnalités qu'on ne supporte pas :o

n°1135571
akewea
Posté le 30-06-2005 à 11:10:18  profilanswer
 

merci pour la précision, et désolé pour l'evidence... c'est bien ce qu'il me semblait...  :ange:  
 
Pour la décompresion, j'ai jamais fait... :??:  un petit coup de pouce que quelqu'un ?
 
Merci !


Message édité par akewea le 30-06-2005 à 11:11:24

---------------
Akewea [TRUp]
n°1135810
carot0
Posté le 30-06-2005 à 13:04:25  profilanswer
 

akewea a écrit :

merci pour la précision, et désolé pour l'evidence... c'est bien ce qu'il me semblait...  :ange:  
 
Pour la décompresion, j'ai jamais fait... :??:  un petit coup de pouce que quelqu'un ?
 
Merci !


je pense qu'avec ca dans en plus ta requete ca peut aider :  

Code :
  1. "Accept: text/html\r\n"


Message édité par carot0 le 30-06-2005 à 13:04:38

---------------
In a world without walls and fences, who needs Windows and Gates
n°1135897
akewea
Posté le 30-06-2005 à 14:14:54  profilanswer
 

En fait, j'ai trouvé ce qui clochait : quand j'enlèvevait le "Accept-Encoding", rien n'arrivait à part les en-tête, d'où ma demande de décompression. En mettant un boucle sur la reception des données, cela fonctionne...
 
Je pense que c'etait la page qui était plus grande que mon buffer... Maintenant, ca marche à merveille ! ;) et sans accepter les données compressées....
 
Merci à tous pour votre aide !


---------------
Akewea [TRUp]

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  telecharger une page web

 

Sujets relatifs
Aide pour un script html, recuperer email d'une page webFermer une page php???
Objet ASP permettant de faire des resultats sur plusieurs pagerecharger une page dans un meme endroit
mise en page CSS sous IELien de déstruction de sessions sans formulaire, sans page dédiée
[html] methode de mise en page ?Sort de la page avec switch
[HTML] Combien de <DIV></DIV> maximum par page ?page php ne s'afffiche pas sur le site mais veut se télécharger, why?
Plus de sujets relatifs à : telecharger une page web


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR