<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    qileilove

    blog已經轉移至github,大家請訪問 http://qaseven.github.io/

    java微信機器人

    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;//創建日期
    public String getContent() {
    return content;
    public void setContent(String content) {
    this.content = content;
    public String getMessageType() {
    return messageType;
    public void setMessageType(String messageType) {
    this.messageType = messageType;
    public String getFromUserName() {
    return fromUserName;
    public void setFromUserName(String fromUserName) {
    this.fromUserName = fromUserName;
    public String getToUserName() {
    return toUserName;
    public void setToUserName(String toUserName) {
    this.toUserName = toUserName;
    public String getCreateTime() {
    return createTime;
    public void setCreateTime(String createTime) {
    this.createTime = createTime;
    public String getFuncFlag() {
    return FuncFlag;
    public void setFuncFlag(String funcFlag) {
    FuncFlag = funcFlag;
    public String toString(){
    return "createTime:"+getCreateTime()+"\ntoUserName:"+getToUserName()+"\n FromUserName:"+getFromUserName()+"\nmessageType:"+getMessageType()+"\ncontent:"+getContent();http://www.huiyi8.com/tishiyin/ 提示音
    package com.eiyoung.wechat.web.utils;
    import java.util.Date;
    * 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 Message {
    private String msgId;//消息編號
    private String fromUserName;//發送人
    private String toUserName;//接收人
    private String content;//內容
    private String messageType;//消息類型
    private String createTime;//創建日期
    public String getContent() {
    return content;
    public void setContent(String content) {
    this.content = content;
    public String getMessageType() {
    return messageType;
    public void setMessageType(String messageType) {
    this.messageType = messageType;
    public String getFromUserName() {
    return fromUserName;
    public void setFromUserName(String fromUserName) {
    this.fromUserName = fromUserName;
    public String getToUserName() {
    return toUserName;
    public void setToUserName(String toUserName) {
    this.toUserName = toUserName;
    public String getCreateTime() {
    return createTime;
    public void setCreateTime(String createTime) {
    this.createTime = createTime;
    public String getMsgId() {
    return msgId;
    public void setMsgId(String msgId) {
    this.msgId = msgId;
    public String toString(){
    return "msgId:"+getMsgId()+"\ncreateTime:"+getCreateTime()+"\ntoUserName:"+getToUserName()+"\n FromUserName:"+getFromUserName()+"\nmessageType:"+getMessageType()+"\ncontent:"+getContent();
    maven
    <dependencies>
    <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>3.8.1</version>
    <scope>test</scope>
    </dependency>
    <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>3.0-alpha-1</version>
    </dependency>
    <dependency>
    <groupId>joda-time</groupId>
    <artifactId>joda-time</artifactId>
    <version>2.2</version>
    </dependency>
    <dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-io</artifactId>
    <version>1.3.2</version>
    </dependency>
    <dependency>
    <groupId>com.thoughtworks.xstream</groupId>
    <artifactId>xstream</artifactId>
    <version>1.4.3</version>
    </dependency>
    </dependencies>

    posted on 2014-08-01 09:53 順其自然EVO 閱讀(282) 評論(0)  編輯  收藏 所屬分類: 測試學習專欄

    <2014年8月>
    272829303112
    3456789
    10111213141516
    17181920212223
    24252627282930
    31123456

    導航

    統計

    常用鏈接

    留言簿(55)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 一级毛片免费播放男男| 亚洲一区二区三区成人网站 | 边摸边吃奶边做爽免费视频网站| 国产成人精品免费视频网页大全| 97亚洲熟妇自偷自拍另类图片| 成人免费无码H在线观看不卡| AV在线亚洲男人的天堂| 中文字幕a∨在线乱码免费看| 国产亚洲精品看片在线观看 | 久久精品国产亚洲av麻豆小说| 日韩电影免费观看| 亚洲伊人tv综合网色| 最近中文字幕无免费| 亚洲一级毛片免观看| 毛片免费视频在线观看| 亚洲成av人在线观看网站| 免费在线观看视频a| 两个人看的www视频免费完整版| 亚洲成av人片在线观看无码不卡| 另类免费视频一区二区在线观看| 久久亚洲AV成人无码电影| 中文字幕av无码无卡免费 | fc2成年免费共享视频18| 亚洲精品国产品国语在线| 久久狠狠躁免费观看2020| 亚洲丝袜中文字幕| 国产成人aaa在线视频免费观看 | 免费无码国产在线观国内自拍中文字幕| www.亚洲色图.com| 国产在线一区二区综合免费视频| 亚洲黄色三级视频| 国产最新凸凹视频免费| 久久免费99精品国产自在现线| 久久精品国产亚洲AV嫖农村妇女| 男女啪啪永久免费观看网站| 一级免费黄色毛片| 亚洲伊人久久大香线蕉啊| 亚洲午夜激情视频| 成人免费黄色网址| yellow免费网站| 亚洲性线免费观看视频成熟|