网页如何在浏览器获取设备登录的qq?
在登录qq邮箱的时候我就发现了一个很奇怪的现象,在登录的时候,浏览器会自动获取到我设备登录的qq号。这是怎么做到的呢
通过浏览器控制台,发现请求的
https://localhost.ptlogin2.qq.com:4301/pt_get_uins
这个url,并且这个url是解析到本地
127.0.0.1的
当你登录qq后会在本地端口开放一个接口,浏览器请求会直接请求本地就可以拿到你登录的qq。也就是说我模拟这个请求,我就可以拿到你qq!
但是后面对这个尝试后发现必须设置Referer到https://xui.ptlogin2.qq.com/
才行,所以浏览器中直接设置js肯定是不行的
就用php代码模拟一遍
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://localhost.ptlogin2.qq.com:4301/pt_get_uins?callback=ptui_getuins_CB&pt_local_tk=-1966578495");
curl_setopt($ch, CURLOPT_REFERER, "https://xui.ptlogin2.qq.com/");
curl_setopt($ch, CURLOPT_COOKIE, "pt_local_token=-1966578495; ");
// 禁用SSL证书验证
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
if (curl_errno($ch)) {
echo 'Error:' . curl_error($ch);
} else {
echo $response; // 输出响应内容
}
curl_close($ch);
这些参数都是必须要带的,pt_local_tk参数只用和token一样就行了
请求后是可以正确拿到qq的!
结语
当然这只是一个思路,限制也很多。具体怎么玩,就看你的想法了。
评论 (0)