Autor Zpráva
WertriK
Profil
Zdravím,

narazil jsem na ošklivý něpěknou problém ( jak už tomu bývá u programování ) a to;

Potřebuju načíst obsah googlu, ale místo toho se mi dostane tahle hláška:

Warning: fopen("http://www.google.com/search?hl=cs&q=Adam&lr=&start=0", "r") - Success in /www/doc/www.navigatio.cz/www/pages/cz/hledani.inc.php on line 72


Potom mi fce fread() a fclose() hází každá ještě jednu hlášku o tom že nemají korektní handler - $handle obsahuje nesmysl.

Přitom, když načítám obsah seznamu, tak mi to jde v pohodě a php nic neřve. Je zajmavé i to, že dřív cca 2 měsice - když jsem to programoval poprvé tak mi to gugl načetlo taky bez problemu.
Bohužel na servru je php 4.1.2, takže nemohu zkusit file_gets_content();

Kód vypadá +- takto :


$handle = fopen("http://www.google.com/search?hl=cs&q=Adam&lr=&start=0", "r");
$search_code = fread($handle, 99999);
fclose($handle);


Načež kód který fakčí vypadá +- takto :

$handle = fopen("http://search.seznam.cz/searchScreen?w=Adam&mod=f&step=10&from= 1", "r");
$search_code = fread($handle, 99999);
fclose($handle);


Nechápu proč to nejde, kdyby někdo tušil nebo věděl proč to nejde, byl bych mu vděčný kdyby mi to sem napsal. Jakýkoliv názor ocením ....

Díky
k
Profil *
hm prekerni situace.
zkus fsockopen() - na php.net je dostatecny popis funkcnosti
WertriK
Profil
$socket = fsockopen("http://www.google.com/", 80, $errno, $errstr);

$errno vrací nulu -> fscokopen - false

Takže taky nic, ale díky ....
k
Profil *
WertriK
to je jasny nepis tam http://www.neco.com ale dej tam IP adresu
v tvem pripade 209.85.129.147
ale vrati ti to jen socketove spojeni takze na jednotlive stranky se dotazujes az potom - viz php.net
WertriK
Profil
Zkusim, dík
WertriK
Profil
$fp = fsockopen("209.85.129.147 ", 80, $errno, $errstr);

fputs ($fp, "GET / HTTP/1.1 Host: www.google.com ");

while (!feof($fp)) {
$search_code .= fgets ($fp,128);
}
fclose ($fp);

Při tomhle dochází bych tak řekl k nějakému cyklení, protože načítání obsahu trvá strašně dlouho...
Toto téma je uzamčeno. Odpověď nelze zaslat.