php 获取qq用户昵称和在线状态实例
如果我们利用php获取QQ用户名与在线状态QQ并未给我们提供api接口了,如果要获取我们可以通过QQ空间或QQ网页版聊天来实现。
QQ通过返回不同的图片,来表示在线或离线,图标也随之变换
既然图片不同,那么,返回的HTTP头信息中的Content-Length 也一定不同,而且,彩色图片一定会比同样子的暗色图片要大,于是,找出某个样式的彩色与暗色图片的中间值,就能达到通过判断头部返回长度的方法来获取QQ在线状态
以下是代码
<?php function get_qq_status($uin) { error_reporting(0); $f = file_get_contents('http://wpa.qq.com/pa?p=1:' . $uin . ':4'); if (!$f) return (true); foreach ($http_response_header as $val) { if (strpos($val, 'Content-Length') !== false) { return (intval(substr($val, 16, 50)) > 1000); } } } ?>
上面比较简单,下面来个更好的
<?php function tphp_qq_online($uin) { $reques = "GET /pa?p=1:" . $uin . ":1 HTTP/1.1rn"; $reques.= "Host: wpa.qq.comrn"; $reques.= "User-Agent: PHP_QQ_SPYrnrn"; if (!($socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP))) return (-1); if (!(socket_connect($socket, "wpa.qq.com", 80))) return (-1); if (!(socket_write($socket, $reques))) return (-1); if (!($respon = socket_read($socket, 1024, PHP_BINARY_READ))) return (-1);; socket_close($socket); $field = explode("rn", $respon); for ($i = 0; $i < count($field); $i++) { if (strncasecmp($field[$i], "Location:", 9) == 0) { if (strpos($field[$i], "online")) { $ret = 1; } else if (strpos($field[$i], "offline")) { $ret = 0; } else { $ret = - 1; } // if break; } // if } // for return ($ret); } /* }}} */ echo tphp_qq_online(561272831); ?>
例,qq用户昵称和在线状态
<?php //获取QQ状态 function getQQState($qq) { $url = 'http://wpa.qq.com/pa?p=2:' . $qq . ':41&r=' . time(); $headInfo = get_headers($url, 1); $length = $headInfo['Content-Length']; if ($length == 1243) { return true; } else { return false; } } //获取QQ昵称 function getQQNick($qq) { $str = file_get_contents('http://r.qzone.qq.com/cgi-bin/user/cgi_personal_card?uin=' . $qq); $pattern = '/' . preg_quote('"nickname":"', '/') . '(.*?)' . preg_quote('",', '/') . '/i'; preg_match($pattern, $str, $result); return $result[1]; } //获取QQ姓名 function getQQName($qq) { //$qqArr = include 'friendArr.php';//预先设置的 //$username = $qqArr[$qq]; if (!$username) { $username = getQQNick($qq); } return $username; } ?>
本文地址:
转载随意,但请附上文章地址:-)

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

1. Der Unterschied zwischen Iterator und foreach ist der polymorphe Unterschied (die unterste Ebene von foreach ist Iterator ein Schnittstellentyp, und es ist egal, ob for und foreach der Typ bekannt ist). 1. Warum heißt es, dass die unterste Ebene von foreach der von Iterator geschriebene Code ist: 2. Der Unterschied zwischen „remove in foreach“ und „iterator“. im Alibaba Java Development Manual, aber in Fall 1 wird kein Fehler gemeldet, und in Fall 2 wird zuerst ein Fehler gemeldet (java. util.ConcurrentModificationException).

Die Schritte für PHP, um die Nummer der foreach-Schleife zu bestimmen: 1. Erstellen Sie ein Array von „$fruits“; 2. Erstellen Sie eine Zählervariable „$counter“ mit einem Anfangswert von 0. 3. Verwenden Sie „foreach“, um eine Schleife durchzuführen durch das Array und Erhöhen Sie den Wert der Zählervariablen im Schleifenkörper und geben Sie dann jedes Element und seinen Index aus. 4. Geben Sie den Wert der Zählervariablen außerhalb der „foreach“-Schleife aus, um zu bestätigen, welches Element die Schleife erreicht.

Wenn wir Webseiten mit PHP schreiben, müssen wir manchmal Code aus anderen PHP-Dateien in die aktuelle PHP-Datei einfügen. Zu diesem Zeitpunkt können Sie die Funktion include oder include_once verwenden, um die Dateieinbindung zu implementieren. Was ist also der Unterschied zwischen include und include_once?

In diesem Artikel wird ausführlich erläutert, wie PHP nach dem Umdrehen eines Schlüsselwerts ein Array zurückgibt. Der Herausgeber hält dies für recht praktisch, daher teile ich es Ihnen als Referenz mit. Ich hoffe, dass Sie nach dem Lesen dieses Artikels etwas gewinnen können. PHP-Schlüsselwert-Flip Der Array-Schlüsselwert-Flip ist eine Operation für ein Array, bei der die Schlüssel und Werte im Array ausgetauscht werden, um ein neues Array mit dem ursprünglichen Schlüssel als Wert und dem ursprünglichen Wert als Schlüssel zu generieren. Implementierungsmethode In PHP können Sie das Schlüsselwert-Umdrehen eines Arrays mit den folgenden Methoden durchführen: array_flip()-Funktion: Die array_flip()-Funktion wird speziell für Schlüsselwert-Umdrehungsvorgänge verwendet. Es erhält ein Array als Argument und gibt ein neues Array mit vertauschten Schlüsseln und Werten zurück. $original_array=[

Die Explosionsfunktion in PHP ist eine Funktion zum Aufteilen einer Zeichenfolge in ein Array. Sie ist sehr verbreitet und flexibel. Bei der Verwendung der Explosionsfunktion treten häufig Fehler und Probleme auf. In diesem Artikel wird die grundlegende Verwendung der Explosionsfunktion vorgestellt und einige Methoden zur Lösung der Fehlerberichte bereitgestellt. 1. Grundlegende Verwendung der Explosionsfunktion In PHP lautet die grundlegende Syntax der Explosionsfunktion wie folgt: explosion(string$separator,string$stri

Bei der PHP-Programmierung ist die Verarbeitung von Strings ein häufig erforderlicher Vorgang. Unter diesen sind das Teilen und Zusammenführen von Zeichenfolgen zwei häufige Anforderungen. Um diese Vorgänge bequemer durchführen zu können, stellt PHP zwei sehr praktische Funktionen zur Verfügung, nämlich die Explode- und Implode-Funktion. In diesem Artikel werden die Verwendung dieser beiden Funktionen sowie einige praktische Fertigkeiten vorgestellt. 1. Die Explosionsfunktion Die Explosionsfunktion wird verwendet, um eine Zeichenfolge gemäß dem angegebenen Trennzeichen aufzuteilen und ein Array zurückzugeben. Sein Funktionsprototyp ist wie folgt: arra

In diesem Artikel wird der ASCII-Wert des ersten Zeichens der von PHP zurückgegebenen Zeichenfolge ausführlich erläutert. Der Herausgeber hält dies für sehr praktisch, daher teile ich ihn als Referenz mit. PHP gibt den ASCII-Wert des ersten Zeichens einer Zeichenfolge zurück. Einführung In PHP ist das Abrufen des ASCII-Werts des ersten Zeichens einer Zeichenfolge eine gängige Operation, die grundlegende Kenntnisse der Zeichenfolgenverarbeitung und Zeichenkodierung erfordert. ASCII-Werte werden zur Darstellung des numerischen Werts von Zeichen in Computersystemen verwendet und sind für den Zeichenvergleich, die Datenübertragung und die Speicherung von entscheidender Bedeutung. Der Prozess zum Abrufen des ASCII-Werts des ersten Zeichens einer Zeichenfolge umfasst die folgenden Schritte: Abrufen der Zeichenfolge: Bestimmen Sie die Zeichenfolge, für die Sie den ASCII-Wert abrufen möchten. Es kann eine Variable oder eine String-Konstante sein

Titel: Häufige Fehler und Lösungen bei der Verwendung der Explosionsfunktion in PHP In PHP ist die Explosionsfunktion eine häufige Funktion, die zum Aufteilen eines Strings in ein Array verwendet wird. Allerdings können einige häufige Fehler aufgrund unsachgemäßer Verwendung oder eines falschen Datenformats auftreten. In diesem Artikel werden die Probleme analysiert, die bei der Verwendung der Explosionsfunktion auftreten können, und Lösungen sowie spezifische Codebeispiele bereitgestellt. Fehler 1: Der Trennzeichenparameter wird nicht übergeben. Bei der Verwendung der Explosionsfunktion besteht einer der häufigsten Fehler darin, dass der Trennzeichenparameter nicht übergeben wird.
