1. 首页
  2. 电子数码
  3. QQ空间登录电脑版

QQ空间登录电脑版

简介:关于QQ空间登录电脑版的相关疑问,相信很多朋友对此并不是非常清楚,为了帮助大家了解相关知识要点,小编为大家整理出如下讲解内容,希望下面的内容对大家有帮助!
如果有更好的建议或者想看更多关于电子数码技术大全及相关资讯,可以多多关注茶馆百科网。

各位好,很多人还不知道QQ空之间的电脑版怎么登录。下面详细解释一下。现在让我们来看看!

更多Python学习资料可以是私人关键词【资料】。拿到序言。下面给QQ空,增加一个模拟登录的例子~大家愉快的开始吧~开发工具Python版本:3.6.4相关模块:requests模块;Pycrypt更多

文章目录[隐藏]

前言开发工具Python版本:3.6.4相关模块:环境建设原理简介

更多Python学习资料可以是私人关键词【资料】。拿到序言。下面给QQ空,增加一个模拟登录的例子~大家愉快的开始吧~开发工具Python版本:3.6.4相关模块:requests模块;pycrypt

更多Python学习资料可通过私人关键词【资料】收集

下面给大家加一个模拟登录QQ空~,大家愉快的开始吧~

开发工具Python版本:3.6.4相关模块:

请求模块;

Pycryptodome模块;

还有一些Python独立模块。

环境建设

安装Python并将其添加到环境变量中,pip安装所需的相关模块。

原理简介

这里简单介绍一下空模拟登录QQ的原理。一般QQ空都可以通过手机接入QQ扫码登录和账号密码登录。但账号密码登录有时需要验证码。为了保证登录的成功率,我们选择扫码登录方式。

首先,进入登录界面:

'https://xui.ptlogin2.qq.com/cgi-bin/xlogin?proxy_url=https://qzs.qq.com/qzone/v6/portal/proxy.html&daid=5&&hide_title_bar=1&low_login=0&qlogin_auto_login=1&no_verifyimg=1&link_target=blank&appid=549000912&style=22&target=self&s_url=https://qzs.qq.com/qzone/v5/loginsucc.html?para=izone&pt_qr_app=手机QQ空间&pt_qr_link=https://z.qzone.com/download.html&self_regurl=https://qzs.qq.com/qzone/v6/reg/index.html&pt_qr_help_link=https://z.qzone.com/download.html&pt_no_auth=0'复制代码

简单抓一下包就能发现二维码登录的界面大概就是这个(ptqrlogin看起来像是二维码登录):'https://xui.ptlogin2.qq.com/cgi-bin/xlogin?proxy_URL=https://qzs.QQ.com/qzone/V6/portal/proxy.html&;daid=5。&隐藏标题栏=1&低登录=0&qlogin_auto_login=1&no_verifyimg=1&link_target=blank&appid=549000912。style=22&目标=自我&s_URL=https://qzs.QQ.com/qzone/V5/loginsucc.html?izone&Pt_qr_&=手机QQ空房间&pt_QR_link=https://z.qzone.com/download.html&;self_regurl=https://qzs.QQ.com/qzone/V6/reg/index.html&;pt_QR_help_link=https://z.qzone.com/download.html&;pt_no_auth=0'复制代码。简单抓一下包你会发现二维码登录的界面大概是这样的(ptqrlogin看起来像二维码登录):

更多Python学习资料可通过私人关键词【资料】收集

让我们看看请求此链接需要哪些参数:

更多Python学习资料可通过私人关键词【资料】收集

测试后,您会发现大多数参数是固定的,即:

u1:https://qzs.QQ.com/qzone/V5/loginsucc.html?para=izoneptredirect:0h:1t:1g:1from_ui:1ptlang:2052js_ver:19112817js_type:1pt_uistyle:40aid:549000912aid:5ptdrvs:anyqupmb2syc5zv6v4jdelrcvOAMH-HP6xy5jvkjzhpilbk37JV1O3jjbwmy7j*u1eD8quewy_has_onekey:

Actionlogin_sigptqrtoken复制代码显然,action的构建方式应该是这样的:

'0-0-'+timestamp复制代码至于login_sig参数,可以通过请求以下链接轻松找到:

更多Python学习资料可通过私人关键词【资料】收集

然后在返回的cookies中获取login_sig参数:

更多Python学习资料可通过私人关键词【资料】收集

并请求:

https://xui.ptlogin2.qq.com/cgi-bin/xlogin?复制代码所需的参数是:

更多Python学习资料可通过私人关键词【资料】获取

通过测试可以发现,上述参数是固定的。最后,在全局搜索中只能找到参数ptqrtoken。该参数在一定范围内的js计算方法写在文件中:

更多Python学习资料可通过私人关键词【资料】获取

其中,hash33的js代码为:

函数hash33(t){for(vare=0,i=0,n=t.length我<n;++I)e+=(e<;<5)+t.charcodeat(I);返回2147483647&E}将代码复制到python代码中是:

defdecryptQrsig(QRSIG):e=0forcinQRSIG:e+=(e<;<5)+order(c)return2147483647&;e复制代码。所以,现在的问题是如何选择参数qrsig?且很容易找到login_sig参数和login_SIG参数之间相似性。请求以下链接:

更多Python学习资料可通过私人关键词【资料】收集

返回的cookies可以在以下位置获取该参数的qrsig值:

更多Python学习资料可通过私人关键词【资料】收集

并请求:

复制https://ssl.ptlogin2.qq.com/ptqrshow代码所需的参数如下图所示:

更多Python学习资料可通过私人关键词【资料】收集

感觉T除了T的其他参数不变之外,就像一个随机数一样(因为考试,发现T不变也无所谓)。因为影响不大,我也懒得继续分析T是什么,把它当成一个随机数(反正数字都是16位的)。

好了,就这些;就这样,我们大概知道了模拟登录的全过程,然后开始写代码,同时进一步明确流程~首先,获取自然login_sig参数:

params={'proxy_url':'https://qzs.qq.com/qzone/v6/portal/proxy.html','daid':'5','hide_title_bar':'1','low_login':'0','qlogin_auto_login':'1','no_verifyimg':'1','link_target':'blank','appid':'549000912','style':'22','target':'self','s_url':'https://qzs.qq.com/qzone/v5/loginsucc.html?para=izone','pt_qr_app':'手机QQ空间','pt_qr_link':'https://z.qzone.com/download.html','self_regurl':'https://qzs.qq.com/qzone/v6/reg/index.html','pt_qr_help_link':'https://z.qzone.com/download.html','pt_no_auth':'0'}res=self.session.get(self.xlogin_url,headers=self.headers,verify=False,params=params)all_cookies.update(requests.utils.dict_from_cookiejar(res.cookies))pt_login_sig=all_cookies['pt_login_sig']复制代码

然后得到ptqrtoken参数:params={'proxy_url':'https://qzs.qq.com/qzone/v6/portal/proxy.html',';daid':'5','hide_title_bar':'1','●登录';:'0','qlogin_auto_login':'1','no_verifyimg':'1','link_target':'blank','appid':'549000912','风格';:'22','目标';:'self','s_url':'https://qzs.qq.com/qzone/v5/loginsucc.html?帕拉=izone','pt_qr_app':'QQ空Room';,'pt_qr_link':'https://z.qzone.com/download.html',';self_regurl':'https://qzs.qq.com/qzone/v6/reg/index.html',';pt_qr_help_link':'https://z.qzone.com/download.html',';pt_no_auth':'0'}RES=self.session.get(self.xlogin_URL,headers=self.headers,verify=False,params=params)all_cookies.update(requests.utils.dict_from_cookiejar(RES.cookies))pt_login_SIG=all_cookies[';pt_login_sig']复制代码并获取ptqrtoken参数:

params={'appid':'549000912','e':'2','l':'M','s':'3','d':'72','v':'4','t':str(random.random()),';daid':'5','pt_3rd_aid':'0'}RES=self.session.get(self.qrshow_URL,headers=self.headers,verify=False,params=params)all_cookies.update(requests.utils.dict_from_cookiejar(RES.cookies))ptqrtoken=self。__decryptQrsig(all_cookies[';qrsig'])复制代码的同时,在请求上述链接的过程中,即:

复制https://ssl.ptlogin2.qq.com/ptqrshow.的代码我们也可以得到二维码图片(也就是res.content其实就是二维码的图像数据)并显示出来:

saveImage(res.content,';qrcode.jpg')showImage(';qrcode.jpg')复制代码,然后我们通过不断请求我们在开始时找到的二维码来登录链接,即:

复制https://ssl.ptlogin2.qq.com/ptqrlogin码检测二维码现状:

whileTrue:params={';u1':'https://qzs.qq.com/qzone/v5/loginsucc.html?帕拉=izone','ptqrtoken':ptqrtoken,';ptredirect':'0','h':'1','t':'1','g':'1','from_ui':'1','ptlang':'2052','行动';:'0-0-'+str(int(time.time())),';js_ver':'19112817','js_type':'1','登录_签名';:pt_login_sig,';pt_uistyle':'40','援助';:'549000912','daid':'5','ptdrvs':'anyqupmb2syc5zv6v4jdelrcvoamh-HP6xy5jvkjzhpilmbk37JV1o3jjbwmy7j*u1ed8quewy_';,'has_onekey':'1'}RES=self.session.get(self.qrlogin_URL,headers=self.headers,verify=False,params=params)if';登录成功';在RES.text:breakelif';二维码已过期';在res.text中:引发runtimeerror(';登录失败,二维码已过期...')time.sleep(2)复制代码。如果登录成功,用请求返回的链接更新会话cookies,以获得QQ空之间的最终登录会话对象:

all_cookies.update(requests.utils.dict_from_cookiejar(RES.cookies))QQ_number=re.findall(r';&uin=(。+?)&服务';,RES.text)[0]打印(';[信息]:帐户->;%s,登录成功...'%QQ_number)URL_refresh=RES.text[RES.text.find(';http'):RES.text.find(';pt_3rd_aid=0')]+'pt_3rd_aid=0'self.session.cookie.update(all_cookies)RES=self.session.get(URL_refresh,allow_redirects=False,verify=False)all_cookies.update(requests.utils.dict_from_cookiejar(RES.cookies))self.session.cookies.update(all_cookies)END

谢谢大家的支持和厚爱。边肖每天会分享更多Python给大家学习干货知识,所以不要忘了关注边肖。

获取更多Python爬虫、数据分析、办公自动化、全栈开发、人工智能学习资源关键词【素材】

以上关于QQ空之间登录电脑版本的说明已经完成。希望能帮到你。请联系边肖以更正任何错误。

本文主要介绍了关于QQ空间登录电脑版的相关养殖或种植技术,电子数码栏目还介绍了该行业生产经营方式及经营管理,关注电子数码发展动向,注重系统性、科学性、实用性和先进性,内容全面新颖、重点突出、通俗易懂,全面给您讲解电子数码技术怎么管理的要点,是您电子数码致富的点金石。
以上文章来自互联网,不代表本人立场,如需删除,请注明该网址:http://23.234.50.4:8411/article/246807.html