关于c++模拟登陆163的一些想法

本文介绍了使用libcurl库模拟登录163邮箱的过程。主要包括:获取登录界面以获得pkid值;根据pkid和账号密码计算tk值;发送包含账号、处理后的密码、pd、tk等信息的请求以获取cookie;最后利用cookie信息完成登录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 自己也是学了c++,想做点事情,就想到了模拟登陆网站,网上也百度了很多教程,主要是就是那几个步骤,模拟请求头部,发送内容和发送方式。

首先模拟登陆,要模拟头部,我用了第三方库libcurl,这是一个第三库,上一篇博客说到了,为了安装我也是百度了很长时间,大概是自己太蠢了吧。

借用第三方库,实现头部的请求模拟,操作当然也是减少了很多,然后开始小试牛刀,访问一个网站,实现将网站的html源代码下载储存在文档中。写偏了。

现在来说模拟登陆163,首先是对163的登陆过程进行抓包,抓到了很多包,进行通讯分析,下面就是我分析的

1.1 首先是将访问mail.163.com获取了登陆界面,获得一个随机的pkid值。
2.2 然后填写账号密码,然后根据pkid和账号密码获得tk值,我也不懂是什么。
3.3 最后向https://dl.reg.163.com/l发送你的账号,处理后的密码,pd,tk值还有其他的内容,得到一些值作为cookie信息留下来以后使用。
4.4 最后向url https://mail.163.com/entry/cgi/ntesdoor?发送cookie信息内容是这个language=-1&style=-1&df=mail163_letter&from=web&allssl=false&race=46_43_84_bj&net=t&iframe=1&product=mail163&url2=http%3A%2F%2Fmail.163.com%2Ferrorpage%2Ferror163.htm试了几次,其中的race好像是变动的,自己也没学过相关的知识。得到回应top.location.href = “http://mail.163.com/js6/main.jsp?sid=*&df=mail163_letter”;就是你要跳转的界面,也说明你登陆成功了。
最后说明,这只是我的想法,具体还有很多细节,以我的知识能理解和表达的也就是这样了,希望大佬也能指导指导。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值