微信应用开发:三步轻松打造微信聊天机器人(附源码)
安安 2017-10-25 来源 :网络 阅读 715 评论 0

摘要:本篇微信应用开发教程将为大家讲解三步轻松打造微信聊天机器人,看完这篇文章会让你对微信开发编程的知识点有更加清晰的理解和运用。

本篇微信应用开发教程将为大家讲解三步轻松打造微信聊天机器人,看完这篇文章会让你对微信开发编程的知识点有更加清晰的理解和运用。

 

 最近微信公众平台开发是热门,我也跟风做了一个陪聊的公众号。

      其实类似的自动回话程序早就有了,比如前一阵很火的小黄鸡(还是小黄鸭来着?)。但尽管是跟风,也要体现一些不同。别人做的都是中文陪聊,咱就来做个英语陪聊。

      不管是中文还是英文,做起来都一样,都是利用网络上的接口。或者你也可以试着自己开发一个陪聊程序。

      随便在网上搜了一个英语聊天机器人的网址://www.pandorabots.com/pandora/talk?botid=f5d922d97e345aa1   咱们就利用这个网址来做微信公众平台。只需简单三步便轻松搞定。不过在此之前你最好先了解一点微信消息的通信过程。

第一步:处理用户发来的消息

微信应用开发:三步轻松打造微信聊天机器人(附源码) 

      如图,微信服务器将用户发来的消息以这种形式发给你的服务器,首先你要对这段xml进行处理,提取出用户发送的消息,也就是<Content></Content>中的内容,很简单,用到的是System.Xml类。


第二步:将消息POST到上述网址,获取返回的消息

     得到用户发来的消息之后,将它POST到上述网址之后,得到的是网站返回的html代码,如下图: 

 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

 2 <HTML><HEAD>

 3 <style type="text/css">

 4 @import "//alicebot.org/all.css";

 5 <!-- liberally borrowed style from //glish.com/css/7.asp -->

 6 </style>

 7 <SCRIPT>

 8 <!--

 9 function sf(){document.f.input.focus();}

10 // -->

11 </SCRIPT>

12 </HEAD>

13 <BODY bgColor="#AAAAAA" onload="sf()">

14

15

16 <b>

17

18 A.L.I.C.E. and  judge

19 </b>

20 <br/><br/>

21

22 <b>You said:</b> What's the weather today<br/>

23 <b>A.L.I.C.E.:</b> Cloudy.<br/>

24

25 <br/>

26 <form name="f" action="" method="post">

27 <input type="hidden" name="botcust2" value="9b25a3b2de04bab2">

28 <P><font face="arial"><b>You say:</b></font>

29 <!--

30 <input type="text" size="60" name="input" x-webkit-speech />

31 -->

32 <input type="text" size="60" name="input"/>

33 <input type="submit" value="Say"/>

34 </P>

35 </form>

36  

37         

38 <em>

39 <a href="//alicebot.org/join.html" target="_new">

40 Listen to two bots talking to each other!

41 </a>

42 </em>

43

44 <HR/>

45 <b>Conversation Log:</b>

46 <br/>

47              <br>  judge:  What's the weather today <br>  ALICE:  Cloudy.

 


     你需要处理这段html,从中找出要回给用户的内容。对于这段html代码来说很简单,最后一行就是对话内容,将它提取出来即可。

整个过程代码如下: 

 

 1         public static string Chat(string s)

 2         {

 3             string result = string.Empty;

 4             try

 5             {

 6               string padata = "botcust2=8eb5abf08e04e9fc&input=" + s;

 7               string url = "//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 = "//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 = new StreamReader(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              return result;

29          }

  

第三步:将消息包装后发送

微信应用开发:三步轻松打造微信聊天机器人(附源码)

      与接收到的消息类似,你需要将消息包装成上图的xml格式发回给微信服务器,用户便能够收到。

     到这里,聊天机器人就做好了。咱们来看看效果:

 微信应用开发:三步轻松打造微信聊天机器人(附源码)

希望这篇微信开发文章可以帮助到你。总之,同学们,你想要的职坐标微信开发频道都能找到!

本文由 @安安 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程