设为首页 - 加入收藏 焦点技术网
热搜:java
当前位置:首页 >

纯JSP与腾讯微信对接

2012-12-11 13:56:00.0 Java  
导读:公司运营的一个网站需要与微信对接,使用微信的自动回复功能作为与网友的交流手段。网上只找到ASP的例子,以及官方提供的PHP方面的例子。都比较模糊,自己摸索了一下,搞定,现分享如下:1.注册公共平台接口按要求填写,URL处留空,先不要点提交。2.此时在本地新建一个UTF-8格式的JSP,文件名任意,我使用的文件名为wx.jsp,内容如下:Java code?123<%  out.print(requ...。。。
公司运营的一个网站需要与微信对接,使用微信的自动回复功能作为与网友的交流手段。网上只找到ASP的例子,以及官方提供的PHP方面的例子。都比较模糊,自己摸索了一下,搞定,现分享如下:

1.注册公共平台接口

按要求填写,URL处留空,先不要点提交。
2.此时在本地新建一个UTF-8格式的JSP,文件名任意,我使用的文件名为wx.jsp,内容如下:
Java code
1
2
3
<%
  out.print(request.getParameter("echostr"));
%>

3.将wx.jsp上传到服务器中,并将该jsp的访问路径复制到“1”中的URL中,此时点提交,则会提示验证成功。
4.再次打开jsp文件,注释掉“2”中的代码,我的理解是,那段代码仅为第一次验证URL有效性的时候使用。
5.编写如下代码(注:为了抛砖引玉,所以代码比较简单,未引入任何第三方jar包,方便大家测试)
Java code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// 接收XML数据
BufferedReader br = new BufferedReader(new InputStreamReader((ServletInputStream)request.getInputStream()));
String line = null;
StringBuilder sb = new StringBuilder();
while((line = br.readLine())!=null){
    sb.append(line);
}
// 取出发送用户
String xmlS = sb.toString();
int fromuser_s = xmlS.indexOf(");
int fromuser_e = xmlS.indexOf("]]>");
String fromuser = xmlS.substring(fromuser_s + 23, fromuser_e);
// 取出目标用户
int touser_s = xmlS.indexOf(");
int touser_e = xmlS.indexOf("]]>");
String touser = xmlS.substring(touser_s + 21, touser_e);
// 取出发送内容
int content_s = xmlS.indexOf(");
int content_e = xmlS.indexOf("]]>");
String content = xmlS.substring(content_s + 18, content_e);
 
out.print("");
out.print("    +fromuser+"]]>");
out.print("    +touser+"]]>");
out.print("    "+new Date().getTime()+"");
out.print("    ");
out.print("    ");
out.print("    0");
out.print("");

6.保存文件,更新代码到服务器端,使用手机测试即可。

(编辑: yueritian)

网友评论
相关文章