QQInfo.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?php
  2. namespace App\Components;
  3. use GuzzleHttp\Client;
  4. class QQInfo {
  5. public static function getName(string $qq): string {
  6. //向接口发起请求获取json数据
  7. $url = 'https://r.qzone.qq.com/fcg-bin/cgi_get_portrait.fcg?get_nick=1&uins='.$qq;
  8. $client = new Client(['timeout' => 10]);
  9. $request = $client->get($url);
  10. $message = mb_convert_encoding($request->getBody(), "UTF-8", "GBK");
  11. // 接口是否异常
  12. if($request->getStatusCode() == 200){
  13. if(strpos($message, $qq) !== false){
  14. //对获取的json数据进行截取并解析成数组
  15. $message = json_decode(substr($message, 17, -1), true);
  16. return stripslashes($message[$qq][6]);
  17. }
  18. }
  19. return $qq;
  20. }
  21. public static function getName2(string $qq): string {
  22. //向接口发起请求获取json数据
  23. $url = 'https://api.toubiec.cn/qq?qq='.$qq.'&size=100';
  24. $client = new Client(['timeout' => 10]);
  25. $request = $client->get($url);
  26. $message = json_decode($request->getBody(), true);
  27. // 接口是否异常
  28. if($request->getStatusCode() == 200 && $message && $message['code'] == 200){
  29. return $message['name'];
  30. }
  31. return $qq;
  32. }
  33. public static function getName3(string $qq): string {
  34. //向接口发起请求获取json数据
  35. $url = 'https://api.unipay.qq.com/v1/r/1450000186/wechat_query?cmd=1&pf=mds_storeopen_qb-__mds_qqclub_tab_-html5&pfkey=pfkey&from_h5=1&from_https=1&openid=openid&openkey=openkey&session_id=hy_gameid&session_type=st_dummy&qq_appid=&offerId=1450000186&sandbox=&provide_uin='.$qq;
  36. $client = new Client(['timeout' => 10]);
  37. $request = $client->get($url);
  38. $message = json_decode($request->getBody(), true);
  39. // 接口是否异常
  40. if($request->getStatusCode() == 200 && $message && $message['ret'] == 0){
  41. return urldecode($message['nick']);
  42. }
  43. return $qq;
  44. }
  45. }