zoukankan      html  css  js  c++  java
  • 腾讯微博模拟登录

    最近比较懒,都不想写东西,嘛,良心发现还是写点什么好了。总之工作原因,需要弄这个,只能说企鹅娘的程序员都是折翼的天使啊,把我这种渣渣折腾死了。

    首先在输入账户的输入框中输完帐号后,页面的js就会向

    "http://check.ptlogin2.qq.com/check?regmaster=&uin=".$user."&appid=46000101&js_ver=10031&js_type=1&login_sig=".$sig."&u1=http%3A%2F%2Ft.qq.com&r=0.5318469845290044"
    $user:帐号的值; $sig:在打开登录页面时,页面会产生一个“login_sig”的值。其他值随意

    这个网址查询这个帐号是否需要输入验证码,返回值如下

    ptui_checkVC('1','0f90f8176492579603d5f5b4df231f51d9fc9191f0c9e538','x00x00x00x00x4fx47x63xf7');

    1的话,就是要验证码,所以我会默默的换个帐号再试(渣渣的忧桑啊)。

    ptui_checkVC('0','!GJP','x00x00x00x00x1ax74xecx47');

    这是另一种啦,不用验证码的。

    由返回的2个值与密码进行运算,得到一个变化的password(就是下面那个网址的$p),

    <?php 
      //$uin='!GJP' $v='x00.......x47'
    function getp($password,$uin,$v){ $str=md5($password); $arr=array(); $str=strtoupper($str); $str_length=strlen($str); for ($i=0;$i<$str_length;$i=$i+2){ array_push($arr,"\x".substr($str,$i,2)); } $arr=implode("",$arr); eval("$arr="$arr";"); eval("$uin="$uin";"); // echo $arr; $str=strtoupper(md5($arr.$uin)); // echo $str; $str=strtoupper(md5($str.$v)); // echo $str; return $str; } ?>

    然后向这个网址发送下请求

    $url="http://ptlogin2.qq.com/login?u=".$user."&p=".$p."&verifycode=".$uin."&aid=46000101&u1=http%3A%2F%2Ft.qq.com&h=1&ptredirect=1&ptlang=2052&from_ui=1&dumy=&low_login_enable=1&low_login_hour=720&regmaster=&fp=loginerroralert&action=3-21-1370762999815&mibao_css=&t=1&g=1&js_ver=10031&js_type=1&login_sig=".$sig;

    根据返回值的判断是否成功吧,额,cookie就不多说了,反正挺重要的。

    用curl弄个cookie保存,以后就直接用保存好的cookie就能直接登录了

  • 相关阅读:
    第一个springMVC项目
    spring声明式事务
    spring整合mybatis
    spring中的Aop
    java代理模式(23种设计模式之一)
    java注解与反射
    spring之自动装配bean
    zookeeper端口修改后无法启动客户端
    vue的学习-简单指令(一)
    springsecurity 安全管理
  • 原文地址:https://www.cnblogs.com/cangzhou/p/3154756.html
Copyright © 2011-2022 走看看