fsockopen et google

fsockopen et google - PHP - Programmation

Marsh Posté le 19-04-2009 à 18:20:38    

Bonjour à tous :hello: !
J'essaie de récupérer les résultats d'une recherche google avec php en utilisant fsockopen. J'ai du loupé quelque chose parce que j'ai beau faire, je ne parviens pas à récupérer quoi que ce soit.
J'ouvre une connexion avec fsockopen, j'écris les headers, mais dès que je veux lire le résultat mon script devient très long (si je me contente d'appeler fsockopen et fwrite çà va très vite). Et bien sûr, rien ne s'affiche, rien du tout. Même pas une erreur HTTP. :??:
Voici la partie de mon code concernée :

Code :
  1. define('TIME_OUT', 2);
  2. $host = 'www.google.fr';
  3. $url = "search?hl=fr&safe=off&client=firefox-a&rls=org.mozilla%3Afr%3Aofficial&hs=9WD&q=$search&btnG=Rechercher&meta=";
  4. $referer = $url;
  5. [...]
  6. $fsp = fsockopen($host, 80, $fsp_errnoo, $fsp_errstr, TIME_OUT); // fonctionne
  7.  
  8. $out  = "GET /$url HTTP/1.1\r\n";
  9. $out .= "Host: $host\r\n";
  10. $out .= "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; fr; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8 (.NET CLR 3.5.30729)\r\n";
  11. $out .= "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n";
  12. $out .= "Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3\r\n";
  13. $out .= "Accept-Encoding: gzip,deflate\r\n";
  14. $out .= "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n";
  15. $out .= "Keep-Alive: 300\r\n";
  16. $out .= "Connection: keep-alive\r\n";
  17. $out .= "Referer: $host/$referer\r\n";
  18. $out .= "Cookie: SS=Q0=dGVzdA; PREF=ID=45882163177a29b4:U=afaf093730df080c:FF=4:LD=fr:NR=10:TM=1232270125:LM=1240128859:S=ERvxHL7o8GMh6qlM; NID=21=NEe6De2iRbE91937wVgVyWEclPEXxP2ecf-EuvnYu6biEDuVL1D1XbX0HuHSBepuas-eefWDRRMCqFfd8EH8yFtt1JASsSCriju8H_fXnMgwyLIDi7Fh0HgbHODKB_cD; SID=DQAAAHQAAADbW6lgtKbleZ_gaPjCpHZ5JJgigUAWlH-LGHzQdxfZxlZGspnJe854g3zNaQ5MtmpsrV-D-fNTH_VydkgaWe-tT9CkWTcUrYXeixk8amTUtI-wJumuwFgFdtsCXQNRZgd0qqrYKTgDStgvhKoEsoaWXkkF6WgC4iB3mj28AHXFOw\r\n";
  19.     
  20. fwrite($fsp, $out); // fonctionne
  21.     
  22. $results = '';
  23. while (!feof($fsp)) { // si je commente cette ligne,
  24.    $results .= fgets($fsp, 256); // celle-ci
  25. } // et celle-ci, c'est rapide, mais bien sur, je ne peux rien récupérer. Sinon, c'est très long et je ne récupère rien du tout (vide).
  26.     
  27. fclose($fsp);


 
EDIT : j'avais oublié de donner la partie du code où sont définies certaines variables, je l'ai fait ;)


Message édité par Profil supprimé le 19-04-2009 à 18:24:30
Reply

Marsh Posté le 19-04-2009 à 18:20:38   

Reply

Marsh Posté le 19-04-2009 à 18:58:08    

http://code.google.com/intl/fr-FR/apis/ajaxsearch/ <<< tu as essayé ça ? c'est quand meme plus propre  
http://code.google.com/intl/fr-FR/ [...] ion/#fonje par exemple


---------------

Reply

Marsh Posté le 20-04-2009 à 18:37:59    

ok merci je vais plutôt m'orienter vers ce que tu dis en fait
mais as-tu une idée de la source du problème ?

Reply

Marsh Posté le 20-04-2009 à 18:42:57    

google qui a vu que tu essayais de le feinter ?


---------------

Reply

Marsh Posté le 21-04-2009 à 17:21:31    

non, même problème en local et sur le serveur dès le début.
EDIT : et dans ce cas Google retourne une 403 (testé avec file_get_contents)


Message édité par Profil supprimé le 21-04-2009 à 17:22:23
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed