JAVA微信公众号开发回复消息能回复多条吗?具体怎么代码实现?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA微信公众号开发回复消息能回复多条吗?具体怎么代码实现?相关的知识,希望对你有一定的参考价值。

我有一组数据,会通过公众号粉丝的发送文本关键词来判断这边回复的内容,由于内容比较多而且公众号限制每条消息字数为300字,就想着每次分为几条来发,具体这么实现啊?在线等.......

参考技术A public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
// 将请求、响应的编码均设置为UTF-8(防止中文乱码)
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
// 接收参数微信加密签名、 时间戳、随机数
String signature = request.getParameter("signature");
String timestamp = request.getParameter("timestamp");
String nonce = request.getParameter("nonce");

PrintWriter out = response.getWriter();
// 请求校验
boolean checkSignature = SignUtil.checkSignature(signature, timestamp, nonce);
if (checkSignature)
// 调用核心服务类接收处理请求
String respXml = processRequest(request);
out.print(respXml);

out.close();
out = null;

微信公众号消息回复

     参照https://www.kancloud.cn/digest/wechat-java/123962 写了servlet并处理后,发现在服务器的 tomcat/logs/localhost_access.txt的日志里面 总是接收不到 微信端发送的post的请求,因为 微信的 文本消息回复原理是,用户发送消息给微信,微信把这些消息以及用户信息通过post请求发送给服务器。服务器提供post接口的URL,这个URL就是在开发者文档里配置的URL。如下所示

,而自己为什么没有收到那?

     最后发现是没有启动导致的。

 

 

2.启用后文本信息乱码解决办法

PrintWriter out = null;
try {
response.setHeader("Content-type","text/html;charset=UTF-8");
out = response.getWriter();
out.print(respMessage);
} catch (IOException e) {
e.printStackTrace();
} finally {
out.close();
out = null;
}

3.我使用了图灵机器人自动回复,但是出现

提示“该公众号暂时无法提供服务,请稍后再试”

解决办法:输入的返回信息是success,但是不让输出

   try {
   textMessage.setContent("success");

response.setHeader("Content-type","text/html;charset=UTF-8");
        out = response.getWriter();
//out.print(respMessage); //次数是控制输出到前端
} catch (IOException e) {
e.printStackTrace();
} finally {
out.close();
out = null;
}
}

以上是关于JAVA微信公众号开发回复消息能回复多条吗?具体怎么代码实现?的主要内容,如果未能解决你的问题,请参考以下文章

微信公众号开发java版-消息回复(普通文字消息和语音消息)

使用微信公众平台自动回复 API 时候,如何向服务器提交 xml 消息内容?

Java微信公众号开发----关键字自动回复消息

4.微信公众号开发:自动回复用户消息

Java - 微信公众号 - 消息回复

Java微信公众平台开发--文本及图文消息回复的实现