dclp FAQ

FAQ der Newsgroups de.comp.lang.php.*

 
  • Increase font size
  • Default font size
  • Decrease font size

Häufig benötigte Codeschnipsel

Wie kann ich prüfen, ob eine bestimmte ICQ UIN online ist?

E-MailDruckenPDFLesezeichen anlegen: Du musst dich einloggen um ein Lesezeichen für diesen Beitrag anzulegen. Es wird deiner persönlichen Lesezeichenliste hinzugefügt.

Es gibt einige fertige Scripte, die mit Hilfe von PHP testen können, ob eine bestimmte UIN online ist. Die meisten dieser Scripte funktionieren allerdings nicht mehr, weil ICQ (wieder einmal) etwas verändert hat. Der Server liefert auch weiterhin Redicts auf die Bildchen, allerdings hat sich die URL geändert.

Das folgende Script wertet die Redirects aus:

function GetICQ($uin) {
    if (!is_numeric($uin)) return FALSE;
 
    $fp = fsockopen('status.icq.com', 80, &$errno, &$errstr, 8);
    if (!$fp) return FALSE;
 
    $request = "HEAD /online.gif?icq=$uin HTTP/1.0\r\n"
              ."Host: web.icq.com\r\n"
              ."Connection: close\r\n\r\n";
    fputs($fp, $request);
 
    do {
        $response = fgets($fp, 1024);
    }
    while (!feof($fp) && !stristr($response, 'Location'));
 
    fclose($fp);
 
    if (strstr($response, 'online1')) return 'online';
    if (strstr($response, 'online0')) return 'offline';
    if (strstr($response, 'online2')) return 'disabled';
    // disabled meint, dass der Benutzer eingestellt hat, dass sein 
    // Status im Web nicht angezeigt wird.
 
    return FALSE;
}
 
// Aufruf:
echo GetICQ(12423456);
Wie kann ich prüfen, ob eine bestimmte ICQ UIN online ist?
http://www.php-faq.de/q-code-icq.html
 

dclp FAQ


Login