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版-消息回复(普通文字消息和语音消息)