Varför fungerar inte detta?
Scriptet är till för att kolla om min ICQ är online eller inte. Originalet finns i en mer avancerad version i Scriptarkivet..
Jag vet att URL:en ändrats men det fungerar inte med den gamla adressen heller ..
Har ICQ ändrat rättigheterna eller nåt? :(
<?
$leta = readfile("http://web.icq.com/whitepages/online?icq=$uin&img=5");
$len = strlen($leta[1]);
?>
spangoMedlem sedan juni 20008 205 inlägg Och servern är konfad för att tillåta http/ftp-läsningar?
Jag använder det lokalt också och använder readfile() på en annan sida och det fungerar. Visserligen till en sida under min egen domän men ändå..
Skall kolla med hotellet ändå..
Det har fortfarande int elöst sig. Kanske nån orkar testa?
(tack stevenet för försöket)
stevenetMedlem sedan juni 20001 251 inlägg Tack. Jag tror fortfarande att det är en redirect som orsakar problemet.
nicclasMedlem sedan feb. 20001 050 inlägg Jo, web.icq.com gör en redirect till den aktuella gif:en. Från manualen: "Versions prior to PHP 4.0.5 do not handle HTTP redirects." Vilken PHP-version kör du?
Annars får du väl öppna en socket istället, och eventuellt själv följa "redirect:en".
/nicclas - https://www.frisim.com
Kör tydligen 4.0.4 :(
Socket ja.. Men detta scriptet fungerade inte heller:
http://www.webforum.nu/showthread.php?s=&postid=96118#post96118
nicclasMedlem sedan feb. 20001 050 inlägg Jo, scriptet fungerar alright, men icq.com har byggt om sitt system lite sen denna kod skrevs, tydligen.
URLen: http://wwp.icq.com/scripts/online.dll?icq=$uin&img=7 returnerar ett "HTTP/1.1 301 Moved Permanently" och redirect:ar till en bild "Location: /lib/image/0,,4400,00.gif" eller "Location: /lib/image/0,,4389,00.gif" beroende på online/offline osv.
Endera "hårdkodar" du dina egna bilder beroende på vilken gif du redirect:as till, eller också skriver du lite kod för att följa upp redirect:en som är till en URL av typ: http://wwp.icq.com/lib/image/0,,4400,00.gif
Jag skulle ha uppdaterat mitt PHP istället ;)
/nicclas - https://www.frisim.com
Har kollat med webbhotellet och de skall uppgradera all serverprogramvara inom en månad..
Om nån har lust att hjälpa mig med en lösning under den tiden vore det ytterst tacksamt, annars får jag nog lugna mig för jag ger mig inte på det själv eftersom jag inte vet hur det fungerar... ;)
nicclasMedlem sedan feb. 20001 050 inlägg Prova detta, det funkar för mig:
<?
function get_status($uin){
$fp = fsockopen ("wwp.icq.com", 80, &$errno, &$errstr, 30);
if(!$fp) {
echo "$errstr ($errno)<br>\n";
} else {
fputs($fp, "GET /scripts/online.dll?icq=$uin&img=7 HTTP/1.0\n\n");
$line = fread($fp, 2048);
return $line;
}
}
$uin = "14199362";
$res=get_status($uin);
$res=trim(preg_replace("/^(.*?)Location:(.*?).gif(.*)$/ims","\\2",$res));
header ("Content-type: image/gif");
readfile("http://wwp.icq.com".$res.".gif");
?>
Denna sida returnerar icq.com's gif-bild för online/offline osv.
/nicclas - https://www.frisim.com
stevenetMedlem sedan juni 20001 251 inlägg Kolla in Snoopy, http://snoopy.sourceforge.com, om nu inte nicclas exempel skulle fungera.
"supports browser redirects, and controlled depth of redirects"
Fungerar hur bra som helst! Tack så hemskt mycket nicclas.. :birp