<?php
header(‘Content-type: text/html; charset=utf-8′);
$sid = qqLogin(‘发送信息的QQ’,'发送信息的QQ密码’); //登录帐号
sendMsg($sid,’接收信息的QQ’,'聊天内容’); //发送消息
$data = getMsg($sid,’接收信息的QQ’); //获取和某个帐号的聊天记录
if(!empty($data)){
foreach($data as $v){
echo $v['title'].’<br />’;
echo $v['msg'].’<br />’;
echo ‘————————<br />’;
}
}
function qqLogin($qq_num,$qq_pwd){ //登录帐号
$data = httpGet(‘http://pt.3g.qq.com/’);
$action = preg_match(“/action=\”(.+)?\”/”, $data, $matches);
$action = $matches[1];
$params = array();
$params["login_url"] = ‘http://pt.3g.qq.com/s?aid=nLogin’;
$params["sidtype"] = 1;
$params["loginTitle"] = ‘手机腾讯网’;
$params["bid"] = 0;
$params["qq"] = $qq_num;
$params["pwd"] = $qq_pwd;
$params["loginType"] =1;
$data = httpPost($action, $params,1);
$action = preg_match(“/sid=(.+?)&/”, $data, $matches);
$sid = $matches[1];
if($sid){
return $sid;
}else {
echo ‘登录失败’;
}
}
function sendMsg($sid,$to_num,$msg){ //发送消息
$params = array();
$params["msg"] = $msg;
$params["u"] = $to_num;
$params["saveURL"] = 0;
$params["do"] = “send”;
$params["on"] = 1;
$params["aid"] = “发送”;
$url = “http://q16.3g.qq.com/g/s?sid=” . $sid;
$data = httpPost($url, $params);
if(preg_match(‘/消息发送成功/’,$data)) echo ‘发送成功<br />’;
else echo ‘发送失败’;
}
function getMsg($sid,$qq_num) { //获取消息
$url = “http://q16.3g.qq.com/g/s?sid=” . $sid . “&u=” . $qq_num . “&saveURL=0&aid=nqqChat”;
$data = httpGet($url);
preg_match_all(‘/<div class=\”main-module bm-gray\”>\s+<p class=\”(?:ft-s-gray|ft-s ft-cl2)\”>(.+?)<\/p>\s+<p>(.+?)<\/p><\/div>/s’,str_replace(“\r\n”,”",$data),$m);
foreach($m[1] as $k=>$v){
$tmp['title']=$v;
$tmp['msg']=$m[2][$k];
$r[]=$tmp;
}
return $r;
}
function httpGet($url,$header=0){ //GET请求
$opt = array(
CURLOPT_URL => $url,
CURLOPT_HEADER => $header,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_TIMEOUT => 60,
CURLOPT_USERAGENT=>’Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.29 Safari/525.13′
);
return curlRun($opt);
}
function httpPost($url,$data,$header=0){ //POST请求
$opt = array(
CURLOPT_URL => $url,
CURLOPT_HEADER => $header,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_TIMEOUT => 60,
CURLOPT_POSTFIELDS => http_build_query($data),
CURLOPT_USERAGENT=>’Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.29 Safari/525.13′
);
return curlRun($opt);
}
function curlRun($opt){
$ch = curl_init();
curl_setopt_array($ch,$opt);
$r = curl_exec($ch);
curl_close($ch);
return $r;
}
?>

转载于:https://www.cnblogs.com/xingli-php/p/3880541.html

模拟登录qq网页版方法相关推荐

  1. Python+Selenium-4:模拟用户登录QQ网页版

    Python+Selenium-4:模拟用户登录QQ网页版 ​ QQ网站 : 点击直达 需求:点击右上角登录,再使用密码登录QQ 代码实例 from selenium import webdriver ...

  2. python访问陌生人qq空间_在Python中使用Phantomjs模拟登录QQ空间

    一.问题来源 在使用Python进行数据爬取的过程中,我们一般使用Selenuim自动化测试工具对需要进行登录验证和动态JS数据的站点进行爬取.而与Selenuim相对应的浏览器组件,为了方便起见,一 ...

  3. qq修改实名认证已达上限_qq空间登陆 使用Phantomjs模拟登录QQ空间

    在使用Python进行数据爬取的过程中,我们一般使用Selenuim自动化测试工具对需要进行登录验证和动态JS数据的站点进行爬取.而与Selenuim相对应的浏览器组件,为了方便起见,一般使用Fire ...

  4. php qq授权_PHP模拟QQ网页版授权登录的案例

    PHP模拟QQ网页版授权登录的案例 发布时间:2020-10-31 01:28:09 来源:亿速云 阅读:78 作者:小新 PHP模拟QQ网页版授权登录的案例?这个问题可能是我们日常学习或工作经常见到 ...

  5. php qq授权_PHP模拟QQ网页版授权登陆

    本篇文章小编将带大家一起学习一下如何用PHP模拟QQ网页版授权登录,附上代码,具有一定的参考价值,大家一起来学习一下吧! 第一步: 首先登陆QQ互联首页https://connect.qq.com/进 ...

  6. xp系统qq安装不上网络连接服务器,windows xp系统不能登录qq的解决方法

    qq是很多用户都会用到的聊天工具,但是近日近日有Windows xp系统用户在使用qq的时候,却发现不能登录qq,这是怎么回事呢,针对windows xp系统不能登录qq这个问题,小编这就给大家带来详 ...

  7. curl php 模拟来源_PHP cURL实现模拟登录与采集使用方法详解教程

    对于做过数据采集的人来说,cURL一定不会陌生.虽然在PHP中有file_get_contents函数可以获取远程链接的数据,但是它的可控制性太差了,对于各种复杂情况的采集情景,file_get_co ...

  8. PHP cURL应用实现模拟登录与采集使用方法详解

    对于做过数据采集的人来说,cURL一定不会陌生.虽然在PHP中有file_get_contents函数可以获取远程链接的数据,但是它的可控制性太差了,对于各种复杂情况的采集情景,file_get_co ...

  9. python爬取qq邮箱_使用Python模拟登录QQ邮箱获取QQ好友列表

    最近因开发项目的需要,有一个需求,就是很多SNS网站都有的通过 Email地址 导入好友列表,不过这次要导入的不是Email 列表,而是QQ的好友列表. 实现方式: 通过google一搜,实现的方式大 ...

最新文章

  1. mysql二进制包下的support-files文件夹
  2. Jenkins使用遇到的问题总结
  3. 享元模式(FlyWeight)
  4. Python Django jsonpickle序列化隐藏部分字段代码示例
  5. python实现api接口的脚本_Zabbix批量添加主机,Python调用api接口方式【脚本定制】...
  6. python 示例_带有示例的Python File close()方法
  7. Atitit xml框架类库选型 attilax总结
  8. Docker,使生信分析更简单、可重复
  9. 面经 |算法工程师面试题汇总分享
  10. 构建jQuery对象(转)
  11. 轻量级锁_Java高级架构师-Java锁的升级策略 偏向锁 轻量级锁 重量级锁
  12. c# log4net
  13. 【矩阵论】对称矩阵特征值的性质与直积
  14. python用matplotlib或boxplot作图的时候,中文标注无法正常显示,乱码为小方框的解决办法
  15. 百度翻译反向js——破解反爬虫
  16. Tuxera NTFS2022产品密钥 mac读取ntfs格式驱动程序
  17. Debian 官方下载地址
  18. 网段、子网掩码计算方法
  19. Canvas绘图之旅
  20. 07 TIM编码器和AB相电机测速

热门文章

  1. 浅谈可带病投保的“税优险”
  2. 人身险信息库大数据开闸 消费者可货比三家
  3. 小数据 vs. 大数据
  4. 大型游戏后台实践浅谈
  5. 5g通用模组是什么_芯讯通:定义5G通用模组,助力5G商用落地
  6. 推荐1个视频播放画中画工具!
  7. 无人机优化无线传感器网络matlab代码
  8. 华为防火墙的NAT介绍及配置详解
  9. ZZULIOJ:1141: 进制转换
  10. 加油站的汽油是按什么分类的