• 一步一步来做WebQQ机器人-(一)(验证码)


    Well done! 为了探究webqq的http请求流程和数据交互,我付出了很多心血。

    写下这篇文章!!!这是我逝去的青春

    系列写完之后我会把源码打包奉上~

    ------我的征途是星辰大海

    预计会有这些步骤,当然某些步骤可能会合并:

    • 验证码
    • 第一次登陆
    • 第二次登陆
    • 保持在线和接收消息
    • 获取好友和群列表
    • 发送消息
    • 变成智能的(*゚∀゚*)

     

    对这个页面先get一次,保存下cookie

     

    在用户输入完QQ号之后,会触发一个http请求,用来检测该账号是否需要验证码。

    请求地址: "https://ssl.ptlogin2.qq.com/check?uin=" + QQNum + "&appid=501004106&js_ver=10095&js_type=0&login_sig=a9NQ-9*PnzKFxzP7jcE7voRx5Z9x6Khffy44FKhIkaD-n8fShtaK1r1GZRjgsxzA&u1=http%3A%2F%2Fw.qq.com%2Fproxy.html&r=0.6158497643191367";

    分析:

    1.这里是使用了jsonp的方式,对QQ号码的安全性进行了检测

    2.本图的操作不需要验证码校验

    3.方法内前4个参数用得到:

    • 1表示需要验证码,0则表示QQ号码安全
    • 第二个参数表示验证码,QQ安全表示你不用自己输入验证码,TX会帮你后台生成验证码...
    • QQ号码16进制
    • verifysession,后文用得到,先保存下来

     

    分析:

    1.这里是使用了jsonp的方式,对QQ号码的安全性进行了检测

    2.本图的操作需要验证码校验(多次反复登陆,IP异常等)

    3.这次返回的参数只有第一个用得到,1表示需要验证码,0则表示QQ号码安全

    上面的QQ号码16进制的说法存在错误(感谢 zero.huang 指正),应该是16进制之后再进行修改,类似 这种:
    var num=2835049203;
    var num16=num.toString(16);
    var result='\x00\x00\x00\x00';
    for(var i=0;i<8;i+=2){
    result+='\x'+num16.substr(i,2);
    }
    console.log(num16);
    console.log(result);
    

    1.请求的地址:"https://ssl.captcha.qq.com/getimage?aid=501004106&r=0.8478438374586403&uin=" + QQNum;

    2.请求需要带上referer:"https://ui.ptlogin2.qq.com/cgi-bin/login?daid=164&target=self&style=16&mibao_css=m_webqq&appid=501004106&enable_qlogin=0&no_verifyimg=1&s_url=http%3A%2F%2Fw.qq.com%2Fproxy.html&f_url=loginerroralert&strong_login=1&login_state=10&t=20131024001";

    3.获取图片后,需要保存该次请求的cookie

    4.从cookie中找到"verifysession"的值,保存下来


    很好!已经完成了登陆前的准备

    使用C#模拟http请求可以参考猛戳这里

    博主毕业半年多了,才找到一份工作,做外包每天很累,晚上尽量抽出时间来完善这个系列,请各位多关注~

    您有没有对这篇文章感兴趣呢?


    一步一步来做WebQQ机器人-(一)(验证码):

    本步骤的demo,一步一步来做WebQQ机器人-(一)(验证码),更新于2015/1/28

    可以到该系列最后一篇文章查看是否可能有最新demo

    转载请保留本页链接:http://www.cnblogs.com/lianmin/p/4231340.html

    .

  • 相关阅读:
    Microsoft Visual Studio 2005中使用水晶报表
    net的辅助工具列表
    基于.net开发平台项目案例集锦
    一个蛮不错的图形绘制控件 dotnetCHARTING
    统计图控件dotnetCharting和ZedGraph比较
    c#获取真实IP和代理IP
    虚拟主机比较安全设置
    正则表达式 大杂烩
    【转载】说说大型高并发高负载网站的系统架构
    使用.NET实现断点续传
  • 原文地址:https://www.cnblogs.com/lianmin/p/4231340.html
Copyright © 2020-2023  润新知