前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >微信 接入机器人 java_Java版微信机器人代码

微信 接入机器人 java_Java版微信机器人代码

作者头像
全栈程序员站长
发布2022-07-04 09:26:15
1.1K0
发布2022-07-04 09:26:15
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

package com.eiyoung.wechat.web.controller;

import java.io.IOException;

import java.io.PrintWriter;

import java.util.Date;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import com.eiyoung.wechat.web.utils.Message;

import com.eiyoung.wechat.web.utils.ReplyMessage;

import org.apache.commons.io.IOUtils;

import com.thoughtworks.xstream.XStream;

import com.thoughtworks.xstream.io.xml.DomDriver;

public class WeChat extends HttpServlet {

private static final long serialVersionUID = 1L;

public WeChat() {

super();

* 验证

* @param request

* @param response

* @throws ServletException

* @throws IOException

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

response.setContentType(“text/html;charset=UTF-8”);

PrintWriter pw = response.getWriter();

String echo = request.getParameter(“echostr”);

System.out.print(echo);

echo = new String(echo.getBytes(“ISO-8859-1″),”UTF-8”);

pw.println(echo);

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

response.setContentType(“text/html;charset=UTF-8”);

PrintWriter pw = response.getWriter();

String wxMsgXml = IOUtils.toString(request.getInputStream(),”utf-8″);

Message textMsg = null;

try {

textMsg = getMessage(wxMsgXml);

} catch (Exception e) {

e.printStackTrace();

StringBuffer replyMsg = new StringBuffer();

if(textMsg != null){

//增加你所需要的处理逻辑,这里只是简单重复消息

replyMsg.append(“您给我的消息是:”);

replyMsg.append(textMsg.getContent());

else{

replyMsg.append(“:)不是文本的消息,我暂时看不懂”);

String returnXml = getReplyMessage(replyMsg.toString(), textMsg.getFromUserName(),textMsg.getToUserName());

System.out.print(textMsg.toString());

System.out.print(returnXml.toString());

pw.println(returnXml);

private Message getMessage(String xml){

XStream xstream = new XStream(new DomDriver());

xstream.alias(“xml”, Message.class);

xstream.aliasField(“ToUserName”, Message.class, “toUserName”);

xstream.aliasField(“FromUserName”, Message.class, “fromUserName”);

xstream.aliasField(“CreateTime”, Message.class, “createTime”);

xstream.aliasField(“MsgType”, Message.class, “messageType”);

xstream.aliasField(“Content”, Message.class, “content”);

xstream.aliasField(“MsgId”, Message.class, “msgId”);

Message Message = (Message)xstream.fromXML(xml);

return Message;

private String getReplyMessage(String replyMsg,String toUserName,String fromUserName){

ReplyMessage we = new ReplyMessage();

we.setMessageType(“text”);

we.setFuncFlag(“0”);

we.setCreateTime(new Long(new Date().getTime()).toString());

we.setContent(replyMsg);

we.setToUserName(toUserName);

we.setFromUserName(fromUserName);

XStream xstream = new XStream(new DomDriver());

xstream.alias(“xml”, ReplyMessage.class);

xstream.aliasField(“ToUserName”, ReplyMessage.class, “toUserName”);

xstream.aliasField(“FromUserName”, ReplyMessage.class, “fromUserName”);

xstream.aliasField(“CreateTime”, ReplyMessage.class, “createTime”);

xstream.aliasField(“MsgType”, ReplyMessage.class, “messageType”);

xstream.aliasField(“Content”, ReplyMessage.class, “content”);

xstream.aliasField(“FuncFlag”, ReplyMessage.class, “funcFlag”);

String xml =xstream.toXML(we);

return xml;

package com.eiyoung.wechat.web.utils;

* Created with IntelliJ IDEA.

* User: sb

* Date: 8/1/13

* Time: 10:37 PM

* To change this template use File | Settings | File Templates.

public class ReplyMessage {

private String FuncFlag;//消息编号

private String fromUserName;//发送人

private String toUserName;//接收人

private String content;//内容

private String messageType;//消息类型

private String createTime;//创建日期

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/148838.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档