php模拟QQ登录获得skey码,请教:QQ授权第三方登录论坛之authorize模拟访问,一直失败...

网址:http://bbs.zhsc.net/forum.php用QQ帐号登录(QQ授权第三方登录论坛)

前面的步骤都能正常模拟出来,返回数据已经显示了正确的QQ昵称,在关键的authorize一步的模拟访问,一直失败。

很困惑:提交网址、附加协议头(有/无)、提交cookies(有/无)、提交数据 均逐一核对过,完全没有错误,怎么就一直失败呢?

.版本 2

.支持库 spec

网址 = “http://bbs.zhsc.net/connect.php?mod=login&op=init&referer=forum.php%3Fmod%3Dforumdisplay%26fid%3D319%26page%3D1&statfrom=login_simple”

网页_访问_对象 (网址, 0, , cookies, , , 返回协议头, , 真)

state = 删全部空 (文本_取出中间文本 (返回协议头, “&state=”, “&scope=”))

网址 = “https://xui.ptlogin2.qq.com/cgi-bin/xlogin?appid=716027609&daid=383&style=33&login_text=%E6%8E%88%E6%9D%83%E5%B9%B6%E7%99%BB%E5%BD%95&hide_title_bar=1&hide_border=1&target=self&s_url=https%3A%2F%2Fgraph.qq.com%2Foauth2.0%2Flogin_jump&pt_3rd_aid=310189286&pt_feedback_link=http%3A%2F%2Fsupport.qq.com%2Fwrite.shtml%3Ffid%3D780%26SSTAG%3Dbbs.zhsc.net.appid310189286”

网页_访问_对象 (网址, 0, , cookies, 返回cookie, , , , 真)

login_sig = 文本_取出中间文本 (返回cookie, “pt_login_sig=”, “;”)

网址 = “https://ssl.ptlogin2.qq.com/check?regmaster=&pt_tea=2&pt_vcode=1&uin=” + qq帐号 + “&appid=716027609&js_ver=10291&js_type=1&login_sig=” + login_sig + “&u1=https%3A%2F%2Fgraph.qq.com%2Foauth2.0%2Flogin_jump&r=0.007180678320038769&pt_uistyle=40”

网页返回 = 到文本 (网页_访问_对象 (网址, 0, , cookies, , , , , 真))

文本_取中间_批量 (网页返回, “,'”, “'”, 临时数组)

verifycode = 临时数组 [1]

pt_verifysession_v1 = 临时数组 [3]

password = Getpwd (qq密码, qq帐号, verifycode)

网址 = “https://ssl.ptlogin2.qq.com/login?u=” + qq帐号 + “&verifycode=” + verifycode + “&pt_vcode_v1=0&pt_verifysession_v1=” + pt_verifysession_v1 + “&p=” + password + “&pt_randsalt=2&pt_jstoken=1607615636&u1=https%3A%2F%2Fgraph.qq.com%2Foauth2.0%2Flogin_jump&ptredirect=0&h=1&t=1&g=1&from_ui=1&ptlang=2052&action=2-14-1545475123316&js_ver=10291&js_type=1&login_sig=” + login_sig + “&pt_uistyle=40&aid=716027609&daid=383&pt_3rd_aid=310189286&”

网页返回 = 编码_Utf8到Ansi (网页_访问 (网址, 0, , cookies))

ptsigx = 文本_取出中间文本 (网页返回, “&ptsigx=”, “&s_url=”)

网址 = “https://ssl.ptlogin2.graph.qq.com/check_sig?pttype=1&uin=” + qq帐号 + “&service=login&nodirect=0&ptsigx=” + ptsigx + “&s_url=https%3A%2F%2Fgraph.qq.com%2Foauth2.0%2Flogin_jump&f_url=&ptlang=2052&ptredirect=100&aid=716027609&daid=383&j_later=0&low_login_hour=0&regmaster=0&pt_login_type=1&pt_aid=0&pt_aaid=0&pt_light=0&pt_3rd_aid=310189286”

网页_访问_对象 (网址, 0, , cookies, 返回cookies, , 返回协议头, , 真)

p_skey = 文本_取出中间文本 (返回协议头, “Set-Cookie: p_skey=”, “;Path=/;Domain=graph.qq.com”)

g_tk = Getgtk (p_skey)

网址 = “https://graph.qq.com/oauth2.0/authorize”

协议头 = “Accept: text/html, application/xhtml+xml, */*” + #换行符 + “Referer:https://graph.qq.com/oauth2.0/show?which=Login&display=pc&response_type=code&client_id=310189286&redirect_uri=http%3A%2F%2Fbbs.zhsc.net%2Fconnect.php%3Fmod%3Dlogin%26op%3Dcallback%26referer%3Dforum.php%253Fmod%253Dforumdisplay%2526fid%253D319%2526page%253D1&state=” + state + “&scope=get_user_info%2Cadd_share%2Cadd_t%2Cadd_pic_t%2Cget_repost_list” + #换行符 + “User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)” + #换行符 + “Content-Type: application/x-www-form-urlencoded”

发送数据 = “response_type=code&client_id=310189286&redirect_uri=http%3A%2F%2Fbbs.zhsc.net%2Fconnect.php%3Fmod%3Dlogin%26op%3Dcallback%26referer%3Dforum.php%253Fmod%253Dforumdisplay%2526fid%253D319%2526page%253D1&scope=get_user_info%2Cadd_share%2Cadd_t%2Cadd_pic_t%2Cget_repost_list&state=” + state + “&switch=&from_ptlogin=1&src=1&update_auth=1&openapi=80901010&g_tk=” + g_tk + “&auth_time=” + 时间_取现行时间戳 () + “&ui=47635AA1-42C4-4F7F-9C60-09ABD5476941”

网页返回 = 编码_Utf8到Ansi (网页_访问_对象 (网址, 1, 发送数据, cookies, , 协议头, 返回协议头, , 真))

调试输出 (返回协议头)(IE的原因,无法附加代码,只好贴上,见谅)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值