微信机器人 java 源码_三步轻松打造微信聊天机器人(附源码)
最近微信公众平台开发是热门,我也跟风做了一个陪聊的公众号。
其实类似的自动回话程序早就有了,比如前一阵很火的小黄鸡(还是小黄鸭来着?)。但尽管是跟风,也要体现一些不同。别人做的都是中文陪聊,咱就来做个英语陪聊。
不管是中文还是英文,做起来都一样,都是利用网络上的接口。或者你也可以试着自己开发一个陪聊程序。
随便在网上搜了一个英语聊天机器人的网址:http://www.pandorabots.com/pandora/talk?botid=f5d922d97e345aa1 咱们就利用这个网址来做微信公众平台。只需简单三步便轻松搞定。不过在此之前你最好先了解一点微信消息的通信过程。
第一步:处理用户发来的消息
如图,微信服务器将用户发来的消息以这种形式发给你的服务器,首先你要对这段xml进行处理,提取出用户发送的消息,也就是中的内容,很简单,用到的是System.Xml类。
第二步:将消息POST到上述网址,获取返回的消息
得到用户发来的消息之后,将它POST到上述网址之后,得到的是网站返回的html代码,如下图:
1
2
3
4 @import "http://alicebot.org/all.css";5 6
7
8
11
12
13
14
15
16
17
18 A.L.I.C.E. and judge19
20
21
22 You said: What's the weather today
23 A.L.I.C.E.: Cloudy.
24
25
26
27
28
You say:
29
32
33
34
35
36
37
38
39
40 Listen to two bots talking to each other!41
42
43
44
45 Conversation Log:
46
47
judge: What's the weather today
ALICE: Cloudy.
你需要处理这段html,从中找出要回给用户的内容。对于这段html代码来说很简单,最后一行就是对话内容,将它提取出来即可。
整个过程代码如下:
1 public static string Chat(strings)2 {3 string result = string.Empty;4 try
5 {6 string padata = "botcust2=8eb5abf08e04e9fc&input=" +s;7 string url = "http://sheepridge.pandorabots.com/pandora/talk?botid=b69b8d517e345aba&skin=custom_input";//请求登录的URL
8 byte[] byteArray = Encoding.UTF8.GetBytes(padata); //转化
9 HttpWebRequest webRequest2 = (HttpWebRequest)WebRequest.Create(url); //新建一个WebRequest对象用来请求或者响应url
10 webRequest2.Referer = "http://sheepridge.pandorabots.com/pandora/talk?botid=b69b8d517e345aba&skin=custom_input";11 webRequest2.Method = "POST"; //请求方式是POST
12 webRequest2.ContentType = "application/x-www-form-urlencoded"; //请求的内容格式为application/x-www-form-urlencoded
13 webRequest2.ContentLength =byteArray.Length;14
15 Stream newStream = webRequest2.GetRequestStream(); //返回用于将数据写入 Internet 资源的 Stream。16
17 newStream.Write(byteArray, 0, byteArray.Length); //写入参数
18 newStream.Close();19 HttpWebResponse response2 =(HttpWebResponse)webRequest2.GetResponse();20 StreamReader sr = newStreamReader(response2.GetResponseStream(), Encoding.Default);21 string text =sr.ReadToEnd();22 result = text.Substring(text.LastIndexOf(':') + 3);23 }24 catch(Exception ex)25 {26 WriteLog(ex.Message);27 }28 returnresult;29 }
第三步:将消息包装后发送
与接收到的消息类似,你需要将消息包装成上图的xml格式发回给微信服务器,用户便能够收到。
到这里,聊天机器人就做好了。咱们来看看效果:
才疏学浅,不足之处请大家多多指正。我的第一篇博客,希望大家多多支持。
这个是公众号,有兴趣的朋友可以去聊几句哦。
微信机器人 java 源码_三步轻松打造微信聊天机器人(附源码)相关推荐
- 在线报名竞赛网站java源码_我用Java写出了一个QQ!可在线聊天(附源码)~
来源:blog.csdn.net/weixin_44048140 正文如下: 一. 功能实现 1.修改功能(密码.昵称.个性签名) 2.添加好友.删除好友 3.单聊功能 4.判断好友是否在线 二. 模 ...
- 安卓4.4.4安装哪个微信版本_微信自动更新在哪里 简单几步轻松关闭微信自动更新方法...
1月1日,微信自动更新上热搜了,原因是很多安卓手机用户的微信版本自动更新到了最新的7.0.0正式版,由于在没有获得用户确认的情况下,自动更新升级,也引发了不少用户的不满和吐槽.那么,微信自动更新怎么关 ...
- python量化选股策略 源码_常见的十大量化投资策略(附源码)
量化投资策略是利用量化的方法,进行金融市场的分析.判断和交易的策略.算法的总称.著名的量化投资策略有以下10种(注:策略源码模板不能直接用于实盘交易,仅供探讨交流) 01.海龟交易策略 海龟交易策略是 ...
- 三步创建免费微信砍价活动攻略,开发者福音
为什么80%的码农都做不了架构师?>>> 三步创建免费微信砍价活动攻略,开发者福音 砍价三步走: 第一步: 登录"H5活动之家"官网 www.h5huodo ...
- java计算机毕业设计ssm兴发农家乐服务管理系统n159q(附源码、数据库)
java计算机毕业设计ssm兴发农家乐服务管理系统n159q(附源码.数据库) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行 ...
- JAVA计算机毕业设计腾讯网游辅助小助手(附源码、数据库)
JAVA计算机毕业设计腾讯网游辅助小助手(附源码.数据库) 目运行 环境项配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Eclispe ...
- java计算机毕业设计vue开发一个简单音乐播放器(附源码、数据库)
java计算机毕业设计vue开发一个简单音乐播放器(附源码.数据库) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Ec ...
- java计算机毕业设计ssm基于SSM学生信息管理系统37myx(附源码、数据库)
java计算机毕业设计ssm基于SSM学生信息管理系统37myx(附源码.数据库) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm ...
- JAVA计算机毕业设计林家餐厅自助点餐管理系统(附源码、数据库)
JAVA计算机毕业设计林家餐厅自助点餐管理系统(附源码.数据库) 目运行 环境项配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Ecli ...
最新文章
- 2022-2028年中国激光全息膜行业市场现状调研及市场需求潜力报告
- html:漂亮的原生表格_HTML表格:关于它们的所有知识
- 法律应是站在加密和隐私这面的……
- 被3整除的子序列(线性dp)
- fsync与fflush的关系和区别
- LeetCode —— 532. 数组中的K-diff数对(Python)
- 用python统计图片中的点_用python按照图像灰度值统计并筛选图片的操作(PIL,shutil,os)...
- linux 软件包 rpm命令之安装、更新、卸载、依赖
- idea java sdk找不到指定文件路径_java-IntelliJ找不到任何声明
- MPLS ××× 基本实验测试
- 用python画圣诞树-python圣诞树
- 字节流和字符流的读写
- android模拟gps定位软件,gps定位模拟器下载最新版
- 【MySQL】关系型数据库基本知识点
- python实现单纯形法(大M法)
- IntelliJ IDEA配置WEB浏览器
- 直接管理和维护计算机系统的程序称为,全国2008年4月自考计算机原理试题
- git将master分支develop的操作
- 天天自习软件测试计划
- FileNotFoundException open failed: XXXXXXX EPERM (Operation not permitted)的坑
热门文章
- 3.12 总结-深度学习第二课《改善深层神经网络》-Stanford吴恩达教授
- Android Studio错误代码汇总
- [python] shell模式下面写for循环
- 猜想串scan的order
- FPGA实现序列检测(训练testbench写法)
- 坚果pro2s7.0.1系统更新截图(订阅号长截图测试)PhotoScape图片编辑器应用
- keil 多文件组织方法
- 用VS 2008开发WCF(一)——最快速的WCF入门
- CF993E:Nikita and Order Statistics(FFT)
- Java基础-IO流对象之数据流(DataOutputStream与DataInputStream)