当前位置:  开发笔记 > 编程语言 > 正文

QQ聊天机器人forPHP版(登录,收、发消息)

<?php02//不多说了,直接上转载请著名出处QQ聊天机器人forPHP版(登录,收、发消息)">

QQ聊天机器人for PHP版 (登录,收、发消息)

01
02  // 不多说了,直接上转载请著名出处 php100.com
03 include "http.class.php";
04  
05 class qq {
06  
07     public $sid;
08     public $http;
09     public $qq_num;
10  
11     function __construct() {
12         $this->http = new http;
13     }
14  
15     function login($qq_num, $qq_pwd) {
16         $data = $this->http->get("http://pt.3g.qq.com/");
17         $action = preg_match("/action=\"(.+)?\"/", $data, $matches);
18         $action = $matches[1];
19         $params = array();
20         $params["login_url"] = "http://pt.3g.qq.com/s?aid=nLogin";
21         $params["sidtype"] = 1;
22         $params["loginTitle"] = "手机腾讯网";
23         $params["bid"] = 0;
24         $params["qq"] = $qq_num;
25         $params["pwd"] = $qq_pwd;
26         $params["loginType"] =1;
27         $data = $this->http->post($action, http_build_query($params));
28         if(count(explode("验证码",$data))>1){
29              preg_match("/
30              echo $matches[1];
31              exit("需要输入验证码");
32         }
33         $action = preg_match("/sid=(.+?)&/", $data, $matches);
34         $this->sid = $matches[1];
35         return $this->sid;
36     }
37  
38     function sendMsg($to_num, $msg, $sid = 0) {
39         $sid = $sid ? $sid : $this->sid;
40         if (!$sid)
41             exit("sid值未传入进去");
42         $params = array();
43         $params["msg"] = $msg;
44         $params["u"] = $to_num;
45         $params["saveURL"] = 0;
46         $params["do"] = "send";
47         $params["on"] = 1;
48         $params["aid"] = "发送";
49         $url = "http://q16.3g.qq.com/g/s?sid=" . $sid;
50         $data = $this->http->post($url, http_build_query($params));
51         return $data;
52     }
53  
54     function getMsg($qq_num = 0, $sid = 0) {
55         $qq_num = $qq_num ? $qq_num : $this->qq_num;
56         if (!$qq_num)
57             exit("qq_num值未传入进去");
58         $sid = $sid ? $sid : $this->sid;
59         if (!$sid)
60             exit("sid值未传入进去");
61         $url = "http://q16.3g.qq.com/g/s?sid=" . $sid . "&3G_UIN=" . $qq_num ."&saveURL=0&aid=nqqChat";
62         $data = $this->http->get($url);
63         preg_match("/name=\"u\" value=\"(\d+)\"/", $data, $matches);
64         $result["qq"] = $matches[1];
65         $data = explode("
66         $data = $data[0];
67         preg_match_all("/

(.+)?<\/p>/", $data, $matches);

68         unset($matches[1][0]);
69         $result["content"] = $matches[1];
70         return $result;
71     }
72     function logout($sid){
73         $url="http://pt.3g.qq.com/s?sid=".$sid."&aid=nLogout";
74          
75         echo $this->http->get($url);
76     }
77 }

[代码] http.class.php

01
02  
03 class http {
04  
05     private $curl;
06     public $user_agent = "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";
07  
08      
09     public function get($url) {
10         $this->curl = curl_init();
11         curl_setopt($this->curl, CURLOPT_CONNECTTIMEOUT, 20);
12         curl_setopt($this->curl, CURLOPT_URL, $url);
13         curl_setopt($this->curl, CURLOPT_HEADER, 1);
14         curl_setopt($this->curl, CURLOPT_USERAGENT, $this->user_agent);
15         curl_setopt($this->curl, CURLOPT_RETURNTRANSFER, 1);
16         $data = curl_exec($this->curl);
17         curl_close($this->curl);
18         return $data;
19     }
20  
21     public function post($url, $params) {
22         $this->curl = curl_init();
23         curl_setopt($this->curl, CURLOPT_CONNECTTIMEOUT, 20);
24         curl_setopt($this->curl, CURLOPT_URL, $url);
25         curl_setopt($this->curl, CURLOPT_HEADER, 1);
26         //curl_setopt($this->curl, CURLOPT_FOLLOWLOCATION, true);
27         curl_setopt($this->curl, CURLOPT_POST, 1);
28         curl_setopt($this->curl, CURLOPT_USERAGENT, $this->user_agent);
29         curl_setopt($this->curl, CURLOPT_POSTFIELDS, $params);
30         curl_setopt($this->curl, CURLOPT_RETURNTRANSFER, 1);
31         $data = curl_exec($this->curl);
32         curl_close($this->curl);
33         return $data;
34     }
35  
36 }
37  
38 ?>
39 原文:http://lvxinwei.sinaapp.com/961.html

推荐阅读
  • PHP中处理回车换行符转换的有效方法与技巧
    PHP中处理回车换行符转换的有效方法与技巧 ... [详细]
  • 在ASP.NET MVC项目中,通过实战解决了Ajax请求500错误及多表数据查询的问题。具体而言,将页面分为两个部分,用户点击右侧导航栏时,通过Ajax请求动态加载数据,并在右侧显示相应的页面内容。最初尝试使用Partial Action方法,但遇到了500错误。通过详细排查和调试,最终成功解决了这一问题,并实现了预期功能。此外,还优化了多表数据查询的性能,确保系统的高效运行。 ... [详细]
  • 通过自定义 `TextView`,实现了在用户点击或焦点变化时动态调整字体颜色的效果。该方法利用了 `ColorStateList` 和 `Selector` 资源文件,确保了界面交互的流畅性和视觉效果的提升。具体实现中,通过重写 `onTouchEvent` 和 `onFocusChanged` 方法,精确控制了颜色变化的时机和状态。此外,还对性能进行了优化,确保在高频率操作下依然保持高效响应。 ... [详细]
  • 尽管许多人认为跑步是一项简单的运动,但实际上它涉及诸多专业知识。不正确的跑步方式不仅会降低锻炼效果,还可能引发伤害。例如,穿着不合脚或过于陈旧的跑鞋,会导致足部支撑不足,增加受伤风险。此外,跑步姿势不当、热身不足、过度训练等问题也同样值得关注。本文将详细介绍七大常见跑步误区,并提供专业的改进建议,帮助跑者避免这些问题,提高运动效率和安全性。 ... [详细]
  • 在第六章中,我们将深入探讨MySQL中的多表查询技术,包括联结查询和子查询。联结查询通过将两个或多个表进行连接,基于连接条件生成结果集。常见的联结类型有内联结、外联结和全外联结。交叉联结(CROSS JOIN)虽然使用较少,但其原理是生成所有可能的组合,类似于笛卡尔积的概念。此外,子查询则是在一个查询语句中嵌套另一个查询,用于获取更复杂的数据集。本章将通过实例详细讲解这些查询方法的应用和优化技巧。 ... [详细]
  • 如何在PHP中提取数字的特定位数值
    本文将详细介绍如何在PHP中提取数字的特定位置的数值。这一技巧对于数据处理和算法实现具有重要意义,通过实例代码和详细解析,帮助读者掌握该方法的应用场景和实现方式。 ... [详细]
  • PHP图床源码:集成化图床管理系统解决方案
    本项目提供了一套集成化的图床管理系统解决方案,适用于需要高效管理图片资源的场景。系统结构简洁,无需复杂的后台支持。主要文件包括 `huluxia.php`、`index.html`、`inews.php`、`kw.php` 和 `zz.php`,每个文件都承担了特定的功能,确保系统的稳定运行和易用性。 ... [详细]
  • 解决基于XML配置的MyBatis在Spring整合中出现“无效绑定语句(未找到):com.music.dao.MusicDao.findAll”问题的方法
    在将Spring与MyBatis进行整合时,作者遇到了“无效绑定语句(未找到):com.music.dao.MusicDao.findAll”的问题。该问题主要出现在使用XML文件配置DAO层的情况下,而注解方式配置则未出现类似问题。作者详细分析了两个配置文件之间的差异,并最终找到了解决方案。本文将详细介绍问题的原因及解决方法,帮助读者避免类似问题的发生。 ... [详细]
  • 基于Node.js的高性能实时消息推送系统通过集成Socket.IO和Express框架,实现了高效的高并发消息转发功能。该系统能够支持大量用户同时在线,并确保消息的实时性和可靠性,适用于需要即时通信的应用场景。 ... [详细]
  • 在 HihoCoder 1505 中,题目要求从给定的 n 个数中选取两对数,使这两对数的和相等。如果直接对所有可能的组合进行遍历,时间复杂度将达到 O(n^4),因此需要考虑优化选择过程。通过使用哈希表或其他高效的数据结构,可以显著降低时间复杂度,从而提高算法的效率。具体实现中,可以通过预处理和存储中间结果来减少重复计算,进一步提升性能。 ... [详细]
  • 在探讨如何高效处理大规模数据报表的分页展示之前,首先需要明确导致报表加载缓慢的主要原因。通常情况下,这主要是由于两个方面:一是查询条件过于宽泛,使得数据库返回的结果集包含数百万甚至更多的记录;二是前端渲染性能不足,无法高效处理大量数据。为了优化这一过程,可以从以下几个方面入手:优化查询条件,减少不必要的数据返回;采用分页查询技术,每次仅加载所需的数据;利用缓存机制,减少对数据库的频繁访问;提升前端渲染效率,使用虚拟滚动等技术提高用户体验。 ... [详细]
  • 在Linux环境下,本文详细探讨了Apache服务器中CGI技术的应用与实现。首先,通过使用yum包管理器安装了必要的软件,如PHP。安装完成后,对Apache服务器进行了配置,确保CGI功能正常运行。此外,还介绍了如何编写和调试CGI脚本,以及如何在实际环境中部署这些脚本以提供动态网页内容。实验结果表明,通过合理的配置和优化,Apache服务器能够高效地支持CGI应用程序,为用户提供丰富的交互体验。 ... [详细]
  • 本文深入探讨了原型模式在软件设计中的应用与实现。原型模式通过使用已有的实例作为原型来创建新对象,而不是直接通过类实例化。这种方式不仅简化了对象的创建过程,还提高了系统的灵活性和效率。具体来说,原型模式涉及一个支持克隆功能的接口或基类,子类通过实现该接口来提供具体的克隆方法,从而实现对象的快速复制。此外,文章还详细分析了原型模式的优缺点及其在实际项目中的应用场景,为开发者提供了实用的指导和建议。 ... [详细]
  • 本文详细探讨了Java集合框架的使用方法及其性能特点。首先,通过关系图展示了集合接口之间的层次结构,如`Collection`接口作为对象集合的基础,其下分为`List`、`Set`和`Queue`等子接口。其中,`List`接口支持按插入顺序保存元素且允许重复,而`Set`接口则确保元素唯一性。此外,文章还深入分析了不同集合类在实际应用中的性能表现,为开发者选择合适的集合类型提供了参考依据。 ... [详细]
  • 扎克伯格透露:一种新型类皮肤材料可能加速“元宇宙”愿景实现
    Meta公司的人工智能团队与卡内基梅隆大学的科学家合作,开发出了一种厚度不足3毫米的可变形塑料材料,这种低成本的“皮肤”有望加速“元宇宙”愿景的实现。该材料具有高度的灵活性和响应性,能够模拟真实皮肤的触感,为虚拟现实和增强现实技术提供更加沉浸式的体验。 ... [详细]
author-avatar
蓬从蓉Tahirah
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有