QQInfo.php 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. namespace App\Components;
  3. use Http;
  4. class QQInfo
  5. {
  6. public static function getName(string $qq): string
  7. {
  8. //向接口发起请求获取json数据
  9. $url = 'https://r.qzone.qq.com/fcg-bin/cgi_get_portrait.fcg?get_nick=1&uins='.$qq;
  10. $response = Http::timeout(15)->retry(2)->get($url);
  11. $message = mb_convert_encoding($response->body(), 'UTF-8', 'GBK');
  12. // 接口是否异常
  13. if ($response->ok() && str_contains($message, $qq)) {
  14. //对获取的json数据进行截取并解析成数组
  15. $message = json_decode(substr($message, 17, -1), true);
  16. return stripslashes($message[$qq][6]);
  17. }
  18. return $qq;
  19. }
  20. public static function getName2(string $qq): string
  21. {
  22. //向接口发起请求获取json数据
  23. $url = 'https://api.qqder.com/qqxt/api.php?qq='.$qq;
  24. $response = Http::timeout(15)->get($url);
  25. $message = $response->json();
  26. // 接口是否异常
  27. if ($message && $message['code'] === 1 && $response->ok()) {
  28. return $message['name'];
  29. }
  30. return $qq;
  31. }
  32. public static function getName3(string $qq): string
  33. {
  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. $response = Http::timeout(15)->get($url);
  37. $message = $response->json();
  38. // 接口是否异常
  39. if ($message && $message['ret'] === 0 && $response->ok()) {
  40. return urldecode($message['nick']);
  41. }
  42. return $qq;
  43. }
  44. }