#自动登录

define('ROOT_PATH',__DIR__);

include_once(ROOT_PATH.'/lib/Http.class.php');

$config=array(

'username'=>'******',

'password'=>'******'

);

//获取login_sig

$url="http://ui.ptlogin2.qq.com/cgi-bin/login";

$data=array(

"hide_title_bar"=>"1",

"low_login"=>"0",

"qlogin_auto_login"=>"0",

"no_verifyimg"=>"1",

"link_target"=>"blank",

"appid"=>"636014201",

"target"=>"self",

"s_url"=>"http://qzone.qq.com",

);

$resp=Http::httpGet($url,$data);

$matches=array();

$pattern="/"

.preg_quote('g_login_sig=encodeURIComponent("')

."(\S+)"

.preg_quote('")')

."/";

preg_match($pattern,$resp['body'],$matches);

$login_sig=$matches[1];

//获取verifycode、pt_verifysession_v1、uin

$url="http://check.ptlogin2.qq.com/check";

$data=array(

'uin'=>$config['username'],

'appid'=>'636014201',

'js_ver'=>'10100',

'js_type'=>'0',

'login_sig'=>'0',

'u1'=>'http://qzone.qq.com',

'r'=>'0.'.time(),

);

$resp=Http::httpGet($url,$data);

$matches=array();

preg_match("/ptui_checkVC\((.+)\)/", $resp['body'],$matches);

$res=explode(',',$matches[1]);

$verifycode=trim(trim($res[1]),"'");

$uin=hex2str(trim(trim($res[2]),"'"));

$pt_verifysession_v1=trim(trim($res[3]),"'");

$url="http://ptlogin2.qq.com/login";

$data=array(

"u"=>$config['username'],

"p"=>getP(),

"verifycode"=>$verifycode,

"aid"=>"636014201",

"u1"=>"http://qzone.qq.com",

"h"=>"1",

"ptredirect"=>"0",

"ptlang"=>"2052",

"from_ui"=>"1",

"dumy"=>"",

"fp"=>"loginerroralert",

"action"=>"1-1-10000",

"mibao_css"=>"",

"t"=>"1",

"g"=>"1",

"js_type"=>"0",

"js_ver"=>"10100",

//跟g_login_sig有关

"login_sig"=>$login_sig,

"pt_uistyle"=>"0",

"pt_vcode_v1"=>"0",

"pt_verifysession_v1"=>$pt_verifysession_v1,

);

$resp=Http::httpGet($url,$data);

// print_r($resp);exit();

//处理密码参数

function getP(){

global $config,$uin,$verifycode;

$j=hex2bin(strtoupper(md5($config['password'])));

$h=strtoupper(md5($j.$uin));

$p=strtoupper(md5($h.strtoupper($verifycode)));

return $p;

}

//转换"\x00\x2f……"成php字符串

function hex2str($hexstr){

$res=explode('\x', $hexstr);

$str="";

foreach($res as $key=>$val){

if(empty($val))continue;

$str.=chr(hexdec($val));

}

return $str;

}

php自动登录QQ空间,QQ空间自动登录 - brivio的个人页面 - OSCHINA - 中文开源技术交流社区...相关推荐

  1. C语言自动类型转换和强制类型转换详解,C语言强制类型转换 - 地狱的烈火的个人页面 - OSCHINA - 中文开源技术交流社区...

    C语言中的类型转换 C语言中的类型转换有两种,自动与强制. 它们都有几种情况,如不同长度的转换:不同类型的转换:还有无符号与有符号数之间的转换.关键是两点,即长度不同时如何转换,在有无符号数参与时如何 ...

  2. java中类型转换的造型_Java-类型转换 - 吉胖子很瘦的个人空间 - OSCHINA - 中文开源技术交流社区...

    类型转换 在实际开发过程中,存在类型转换,类型转换分为两种,自动类型转换和强制类型转换. 自动类型转换 程序编译或运行过程中,jvm可以发生自动类型转换.转换规则: [1]容量小的数据类型可以自动转换 ...

  3. java 0l是多少_Java 构造器 - osc_0ltyoebk的个人空间 - OSCHINA - 中文开源技术交流社区...

    Java 基础构造器 构造器: 构造对象. 1.构造方法的名字必须和类名字保持一致. 2.构造方法没有返回类型.(不是没有返回值!!!!!!!!!!!!!) 3.构造方法可以定义参数,也可以不定义,参 ...

  4. java课程总结_Java课程总结 - osc_uyb9f22c的个人空间 - OSCHINA - 中文开源技术交流社区...

    总结:已经学了一个学期的Java,虽然在课堂上面还是很认真的听讲,但在课后,基本上没有复习与巩固,导致感觉没有C语言学的好,最后的面试结果也不是很令人满意.在以后的学习中,要改变学习方式.做什么事都要 ...

  5. 简易售货机JAVA sql_自动售货机 - 笨拙的小Q的个人空间 - OSCHINA - 中文开源技术交流社区...

    import java.util.Scanner; /** * 华为机试 自动售货机 * 不知道对错 * @author qxl * */ public class Shop { public sta ...

  6. linux 变量引用 和 变量的自动类型转换 c++,c++类型转换 - memristor的个人空间 - OSCHINA - 中文开源技术交流社区...

    C风格的强制类型转换(Type Cast) 不管什么类型的转换统统是:TYPE b = (TYPE)a. 缺点: 可以在任意类型之间转换,比如你可以把一个指向const对象的指针转换成指向非const ...

  7. matlab一计算自动四舍五入6,matlab总结 - osc_msmij2gf的个人空间 - OSCHINA - 中文开源技术交流社区...

    MATLAB 总结 一 基础部分 1.save('x','y','z') 保存三个变量 2.load('var') 加载变量 3.help size who dir cd delete clear 4 ...

  8. linux ssh Unused,ssh免密码登录 - leopardlinux的个人空间 - OSCHINA - 中文开源技术交流社区...

    两台服务器之间的密钥登录 生成密钥 先看 $HOME/.ssh/ 下面有没有已经生成的密钥文件对, 如下: id_dsa id_dsa.pub id_rsa id_rsa.pub 如果已经存在上述任一 ...

  9. java 图形 登录_java登录图形界面 - osc_994n5tsc的个人空间 - OSCHINA - 中文开源技术交流社区...

    编写程序,利用JtextField和JpasswordField分别接收用户输入的用户名和密码,并对用户输入的密码进行检验.对于每个用户名有三次密码输入机会. package beizi; impor ...

最新文章

  1. Ecplise中怎样导入Maven项目
  2. ASP.NET页面刷新办法
  3. html自定义列表 嵌套,HTML 列表
  4. ORACLE数据库导出导入数据
  5. 借鸡生蛋术–砍价小程序的推广变现教学
  6. ORA-01045:user C##KD lacks CREATE SESSION privilege;logon denied
  7. java读取文件 16进制_Java:文件到十六进制?
  8. 小程序页面生命周期函数
  9. 【算法学习笔记】09.数据结构基础 二叉树初步练习2
  10. 精彩的“利益均衡”,尤其是“四”
  11. 文字在div中水平居中,垂直居中
  12. ZAM 3D 制作简单的3D字幕 流程(二)
  13. 土地覆盖/土地利用简介及数据集
  14. 我们无法创建新分区。【错误:0x80042468】
  15. mysql索引linke和等于_MySQL索引介绍和实战
  16. Mongodb 求和
  17. 定弘法师(钟茂森博士)的九大愿
  18. 多时点DID平行趋势检验
  19. JavaScript实现堆叠图echarts
  20. 如何利用微博超话引流?

热门文章

  1. iOS第三方-Masonry使用技巧
  2. python音乐的数据抓取与分析_python抓取网易云音乐热评做词图数据分析
  3. ue unreal 虚幻 invalid HTTP response code received 问题
  4. 2022卡塔尔世界杯随笔
  5. 微服务架构与单体架构的区别
  6. HDU 5976 Detachment(数学+结论)
  7. 360 android系统 流量,警惕天价流量费 360手机卫士Android版增流量监控
  8. Unity开发之-Unity入门简介(近万字攻略)
  9. android hawk 保存map对象,Android Hawk数据库 github开源项目
  10. 如何避免陷入流量旋涡