马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册帐号
×
今天和大家一起分析一个网页协议,然后获取返回内容,从而获取登录的QQ号。
实现办法:
我们用GET的方式访问一下链接:
https://localhost.ptlogin2.qq.com:4301/pt_get_uins?callback=ptui_getuins_CB&pt_local_tk=0.1111830579840395
提交的协议头: Accept:application/javascript, */*;q=0.8 Accept-Language:zh-Hans-CN,zh-Hans;q=0.8,en-US;q=0.5,en;q=0.3 Accept-Encoding:gzip, deflate Host:localhost.ptlogin2.qq.com:4301 Connection:keep-alive User-Agent:Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko Core/1.53.2669.400 QQBrowser/9.6.11054.400 Cookie: pt_local_token=0.1111830579840395 知道了原理后,我们编写代码,我们以VB6.0为例。 VB6.0中添加一个Text1,Command1。VB6.0代码如下: [mw_shl_code=html,true]Private Sub Command1_Click() '模拟GET
Dim WinHttp As WinHttp.WinHttpRequest '声明一个对象
Set WinHttp = CreateObject("WinHttp.WinHttpRequest.5.1")
WinHttp.Open "GET", "https://localhost.ptlogin2.qq.com:4301/pt_get_uins?callback=ptui_getuins_CB&pt_local_tk=0.1111830579840395", True
WinHttp.SetTimeouts 30000, 30000, 30000, 30000 '设置超时时间
WinHttp.Option(WinHttpRequestOption_SslErrorIgnoreFlags) = &H3300 '忽略错误
WinHttp.SetRequestHeader "Referer", "https://xui.ptlogin2.qq.com/cgi-bin/xlogin?appid=1"
WinHttp.SetRequestHeader "Accept", "application/javascript, */*;q=0.8"
WinHttp.SetRequestHeader "Accept-Language", " zh-Hans-CN,zh-Hans;q=0.8,en-US;q=0.5,en;q=0.3"
WinHttp.SetRequestHeader "Accept-Encoding", "gzip, deflate"
WinHttp.SetRequestHeader "Host", "localhost.ptlogin2.qq.com:4301"
WinHttp.SetRequestHeader "Connection", "keep-alive"
WinHttp.SetRequestHeader "User-Agent", " Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko Core/1.53.2669.400 QQBrowser/9.6.11054.400"
WinHttp.SetRequestHeader "Cookie", " pt_local_token=0.1111830579840395"
WinHttp.Send '发送
WinHttp.WaitForResponse '异步发送
Text1.Text = BytesToBstr(WinHttp.ResponseBody, "UTF-8") '返回HTML(同样可用WinHttp.ResponseText返回HTML)
Set WinHttp = Nothing
End Sub[/mw_shl_code]
 VB6.0示例 我们运行下程序,看下效果! 运行效果 这样我们就可以从返回的数据中提取当前登录的QQ号。 获取QQ号
是不是很简单呢?这样的用途很多哦,比如我们做程序的时候,需要绑定QQ,我们就可以这样获取绑定QQ是否登录,然后判断是否登录成功!
|