ugrás a tartalomhoz

Fsockopen timeout probléma kezelése curl-lal

kdani123 · 2006. Már. 2. (Cs), 23.06
Sziasztok!

A segítségeteket szeretném kérni, más fórumokon senki nem tudott segíti.

Oldalakat szeretnék letölteni, hogy a tartalmukat kielemezhessem.
Ehhez POST-ot, GET-et használtam eddig fsockopennel, fputs-al és fgets-el.
Az a baj, hogy ha a szerver nem válaszol, akkor az fsockopen timeout paramétere nem működik.
Erről több évvel ezelőtti bejegyzéseket találtam a PHP buglistáján, de nekem PHP5-öm van és mégse megy.
Ezért gondoltam, hogy lecserélem az eljárást curl-ra.
Melyik a gyorsabb? Tudnátok adni egy-két curl példát GET-re és POST-ra?
A következőket próbáltam:
<?php
$url="http://www.index.hu";
$ch = curl_init(); 
curl_setopt ($ch, CURLOPT_URL,$url);
$result = curl_exec ($ch);
curl_close ($ch); 
return $result; 
Ezt a hibát kapom:
Fatal error: Call to undefined function: curl_init() in...

Ez ugye azt jelentené, hogy a curl nincs telepítve. Ez egy központi szerver a phpinfo() ez mondja:
Configure Command: ...
'--with-curl=shared,/usr' ...

Akkor mi a hiba?

A curl-al nem lesz meg az a hiba ami fsockopennel()? Nem fog kiakadni? Vagy van más ötletetek annak a hibának a megoldására?
(Hátha nem kell mindent curl-re cserélnem).

A konkrét esetben azt szeretném megvizsgálni, hogy egy szerver "milyen állapotban van". Ha egy szerver nem válaszol akkor fsockopennel percekig is fut a script, mire megmondja, hogy rossz a szerver, ezt szeretném elkerülni. Meg persze áttérni a curl-ra, ha van értelme.

Köszönöm.
 
1

PHP.ini?

janoszen · 2006. Már. 3. (P), 11.47
Es van a phpinfoban Curl szekcio? A PHP.iniben aktivalva van a modul?
4

Nincs curl rész

Anonymous · 2006. Már. 3. (P), 16.35
A phpinfoban csak abban az egy sorban szerepel az, hogy "curl".
Kicsit felment bennem a pumpa, a szerver üzemeltetője azt írta, hogy idegen oldalak elemzésére (letöltésére) nem alakalmazható, csak localhoston. De ha egyáltalán nem működik... Mit csináljak vele localhoston egyébként is, csak arra nem használható, amire való.
2

mire nem válaszol a szerver?

Hojtsy Gábor · 2006. Már. 3. (P), 14.19
Milyen timeout nem hatásos, mire? Fsockopen doksiból:
Note: If you need to set a timeout for reading/writing data over the socket, use stream_set_timeout(), as the timeout parameter to fsockopen() only applies while connecting the socket.
3

fsockopen timeoutja nem jó

Anonymous · 2006. Már. 3. (P), 16.32
Azt tudom, hogy az adatok letöltésének idejét nem befolyásolja, csak azt, hogy a szerverhez mennyi idejig próbáljon csatlakozni, pontosabban nálam azt se.