纯JSP与腾讯微信对接

公司运营的一个网站需要与微信对接,使用微信的自动回复功能作为与网友的交流手段。网上只找到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( "<FromUserName><![CDATA[" );
int  fromuser_e = xmlS.indexOf( "]]></FromUserName>" );
String fromuser = xmlS.substring(fromuser_s +  23 , fromuser_e);
// 取出目标用户
int  touser_s = xmlS.indexOf( "<ToUserName><![CDATA[" );
int  touser_e = xmlS.indexOf( "]]></ToUserName>" );
String touser = xmlS.substring(touser_s +  21 , touser_e);
// 取出发送内容
int  content_s = xmlS.indexOf( "<Content><![CDATA[" );
int  content_e = xmlS.indexOf( "]]></Content>" );
String content = xmlS.substring(content_s +  18 , content_e);
 
out.print( "<xml>" );
out.print( "    <ToUserName><![CDATA[" +fromuser+ "]]></ToUserName>" );
out.print( "    <FromUserName><![CDATA[" +touser+ "]]></FromUserName>" );
out.print( "    <CreateTime>" + new  Date().getTime()+ "</CreateTime>" );
out.print( "    <MsgType><![CDATA[text]]></MsgType>" );
out.print( "    <Content><![CDATA[你好:D,自动回复接口测试成功。]]></Content>" );
out.print( "    <FuncFlag>0</FuncFlag>" );
out.print( "</xml>" );

6.保存文件,更新代码到服务器端,使用手机测试即可。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值