40 lines
1.4 KiB
PHP
40 lines
1.4 KiB
PHP
|
<?php
|
||
|
|
||
|
namespace Sakura\API;
|
||
|
|
||
|
class QQ
|
||
|
{
|
||
|
public static function get_qq_info($qq) {
|
||
|
$get_info = file_get_contents('http://r.qzone.qq.com/fcg-bin/cgi_get_portrait.fcg?get_nick=1&uins=' . $qq);
|
||
|
$get_info = mb_convert_encoding($get_info, "UTF-8", "GBK");
|
||
|
$name = json_decode(substr($get_info, 17, -1), true);
|
||
|
if ($name) {
|
||
|
$output = array(
|
||
|
'status' => 200,
|
||
|
'success' => true,
|
||
|
'message' => 'success',
|
||
|
'avatar' => 'https://q.qlogo.cn/headimg_dl?dst_uin=' . $qq . '&spec=100',
|
||
|
'name' => $name[$qq][6],
|
||
|
);
|
||
|
} else {
|
||
|
$output = array(
|
||
|
'status' => 404,
|
||
|
'success' => false,
|
||
|
'message' => 'QQ number not exist.'
|
||
|
);
|
||
|
}
|
||
|
return $output;
|
||
|
}
|
||
|
|
||
|
public static function get_qq_avatar($encrypted) {
|
||
|
global $sakura_privkey;
|
||
|
if (isset($encrypted)) {
|
||
|
$iv = str_repeat($sakura_privkey, 2);
|
||
|
$encrypted = base64_decode(urldecode($encrypted));
|
||
|
$qq_number = openssl_decrypt($encrypted, 'aes-128-cbc', $sakura_privkey, 0, $iv);
|
||
|
preg_match('/^\d{3,}$/', $qq_number, $matches);
|
||
|
$imgurl = 'https://q2.qlogo.cn/headimg_dl?dst_uin=' . $matches[0] . '&spec=100';
|
||
|
return $imgurl;
|
||
|
}
|
||
|
}
|
||
|
}
|