Autor Zpráva
koky_kolin
Profil
na ic.cz potřebuju zjistit stav icq pomocí cronu, ale hafo funkcí tam maj zablokovanejch tak to potřebuju obejít, načtu si obrázek http://status.icq.com/online.gif?icq=123456789&img=26 , no jenže já potřebuju jako výsledek string kam to přesměrovává např: /26/online1.gif. Nevíte někdo teda, jak zjistit kam to přesměruje?
llook
Profil
Načti to přes fsockopen a vytáhni si tu hlavičku Location:

$icq = 123456789;

$socket = fsockopen("status.icq.com", 80);
fwrite($socket, "GET /online.gif?icq=$icq&img=26 HTTP/1.0 Host: status.icq.com ");
$response = fread($socket, 4096);

preg_match("~ Location: (.*)~", $response, $matches);
$adresa_na_kterou_ti_to_presmerovava = $matches[1];
jansmitka
Profil
Jediný řešení, který mě teď napadá, využívá CURL (http://cz.php.net/manual/cs/ref.curl.php):

$ch=curl_init('http://status.icq.com/online.gif?icq=123456789&img=26')  ;

curl_setopt($ch,CURLOPT_FOLLOWLOCATION,true);
curl_setopt($ch,CURLOPT_NOBODY,true);
curl_exec($ch);
$link=curl_getinfo($ch,CURLINFO_EFFECTIVE_URL);


Edit: llook byl rychlejší, tak by to taky šlo, ale nenapadlo mě to.
D1ce
Profil
koky_kolin
Dejte prosím vědět, jestli alespoň jedno z řešení na ic.cz funguje. Jestli ano, o důvod víc proč přejít z wz.cz, potom co povolili .htaccess a mod_rewrite.
jansmitka
Profil
Ne, ani jedno řešení na ic.cz fungovat nebude, ty funkce jsou zakázány. Na wz.cz by mělo fungovat jenom to od llooka, na podpoře nic o zakázání fsockopen nic nepíšou.
D1ce
Profil
jansmitka
Tak na wz.cz je fsockopen() také zakázaný, ale zkoušel jsem to tak 3 měsíce zpátky, tak nevím aktuální situaci. Možná to už povolili.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0