php自动登录QQ空间,QQ空间自动登录 - brivio的个人页面 - OSCHINA - 中文开源技术交流社区...
#自动登录
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 - 中文开源技术交流社区...相关推荐
- C语言自动类型转换和强制类型转换详解,C语言强制类型转换 - 地狱的烈火的个人页面 - OSCHINA - 中文开源技术交流社区...
C语言中的类型转换 C语言中的类型转换有两种,自动与强制. 它们都有几种情况,如不同长度的转换:不同类型的转换:还有无符号与有符号数之间的转换.关键是两点,即长度不同时如何转换,在有无符号数参与时如何 ...
- java中类型转换的造型_Java-类型转换 - 吉胖子很瘦的个人空间 - OSCHINA - 中文开源技术交流社区...
类型转换 在实际开发过程中,存在类型转换,类型转换分为两种,自动类型转换和强制类型转换. 自动类型转换 程序编译或运行过程中,jvm可以发生自动类型转换.转换规则: [1]容量小的数据类型可以自动转换 ...
- java 0l是多少_Java 构造器 - osc_0ltyoebk的个人空间 - OSCHINA - 中文开源技术交流社区...
Java 基础构造器 构造器: 构造对象. 1.构造方法的名字必须和类名字保持一致. 2.构造方法没有返回类型.(不是没有返回值!!!!!!!!!!!!!) 3.构造方法可以定义参数,也可以不定义,参 ...
- java课程总结_Java课程总结 - osc_uyb9f22c的个人空间 - OSCHINA - 中文开源技术交流社区...
总结:已经学了一个学期的Java,虽然在课堂上面还是很认真的听讲,但在课后,基本上没有复习与巩固,导致感觉没有C语言学的好,最后的面试结果也不是很令人满意.在以后的学习中,要改变学习方式.做什么事都要 ...
- 简易售货机JAVA sql_自动售货机 - 笨拙的小Q的个人空间 - OSCHINA - 中文开源技术交流社区...
import java.util.Scanner; /** * 华为机试 自动售货机 * 不知道对错 * @author qxl * */ public class Shop { public sta ...
- linux 变量引用 和 变量的自动类型转换 c++,c++类型转换 - memristor的个人空间 - OSCHINA - 中文开源技术交流社区...
C风格的强制类型转换(Type Cast) 不管什么类型的转换统统是:TYPE b = (TYPE)a. 缺点: 可以在任意类型之间转换,比如你可以把一个指向const对象的指针转换成指向非const ...
- matlab一计算自动四舍五入6,matlab总结 - osc_msmij2gf的个人空间 - OSCHINA - 中文开源技术交流社区...
MATLAB 总结 一 基础部分 1.save('x','y','z') 保存三个变量 2.load('var') 加载变量 3.help size who dir cd delete clear 4 ...
- linux ssh Unused,ssh免密码登录 - leopardlinux的个人空间 - OSCHINA - 中文开源技术交流社区...
两台服务器之间的密钥登录 生成密钥 先看 $HOME/.ssh/ 下面有没有已经生成的密钥文件对, 如下: id_dsa id_dsa.pub id_rsa id_rsa.pub 如果已经存在上述任一 ...
- java 图形 登录_java登录图形界面 - osc_994n5tsc的个人空间 - OSCHINA - 中文开源技术交流社区...
编写程序,利用JtextField和JpasswordField分别接收用户输入的用户名和密码,并对用户输入的密码进行检验.对于每个用户名有三次密码输入机会. package beizi; impor ...
最新文章
- Ecplise中怎样导入Maven项目
- ASP.NET页面刷新办法
- html自定义列表 嵌套,HTML 列表
- ORACLE数据库导出导入数据
- 借鸡生蛋术–砍价小程序的推广变现教学
- ORA-01045:user C##KD lacks CREATE SESSION privilege;logon denied
- java读取文件 16进制_Java:文件到十六进制?
- 小程序页面生命周期函数
- 【算法学习笔记】09.数据结构基础 二叉树初步练习2
- 精彩的“利益均衡”,尤其是“四”
- 文字在div中水平居中,垂直居中
- ZAM 3D 制作简单的3D字幕 流程(二)
- 土地覆盖/土地利用简介及数据集
- 我们无法创建新分区。【错误:0x80042468】
- mysql索引linke和等于_MySQL索引介绍和实战
- Mongodb 求和
- 定弘法师(钟茂森博士)的九大愿
- 多时点DID平行趋势检验
- JavaScript实现堆叠图echarts
- 如何利用微博超话引流?
热门文章
- iOS第三方-Masonry使用技巧
- python音乐的数据抓取与分析_python抓取网易云音乐热评做词图数据分析
- ue unreal 虚幻 invalid HTTP response code received 问题
- 2022卡塔尔世界杯随笔
- 微服务架构与单体架构的区别
- HDU 5976 Detachment(数学+结论)
- 360 android系统 流量,警惕天价流量费 360手机卫士Android版增流量监控
- Unity开发之-Unity入门简介(近万字攻略)
- android hawk 保存map对象,Android Hawk数据库 github开源项目
- 如何避免陷入流量旋涡