微信公众号接收消息和发送消息开发流程和注意事项
1.首先进行基本配置:
登录 微信公众平台 --》 开发 --》 基本配置,登录网址 https://mp.weixin.qq.com,如下图:
注意:在 http://www.xxx.com/wxmsg 页面输出 Response.Write(Request["echostr"]),提交之后方可通过验证,通过验证之后再修改该页面为正式的业务逻辑。如果没有输出 Request["echostr"],将会出现“token验证失败”错误。
2. 接收消息,消息格式是xml,消息接口说明 http://mp.weixin.qq.com/wiki/10/79502792eef98d6e0c6e1739da387346.html ,格式如:
<xml> <ToUserName><![CDATA[toUser]]></ToUserName> <FromUserName><![CDATA[fromUser]]></FromUserName> <CreateTime>1348831860</CreateTime> <MsgType><![CDATA[text]]></MsgType> <Content><![CDATA[this is a test]]></Content> <MsgId>1234567890123456</MsgId> </xml>
注意:常规的Request是获取不到消息的,我在网上查到的方式如下:
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 30 31 32 | public string PostInput(System.Web.HttpRequest request) { try { return PostInput(request, Encoding.UTF8); } catch (Exception ex) { throw ex; } } public string PostInput(System.Web.HttpRequest request, Encoding encoding) { StringBuilder builder = new StringBuilder(); try { using (System.IO.Stream s = request.InputStream) { int count = 0; byte [] buffer = new byte [1024]; while ((count = s.Read(buffer, 0, 1024)) > 0) { builder.Append(encoding.GetString(buffer, 0, count)); } s.Flush(); s.Close(); s.Dispose(); } return builder.ToString(); } catch (Exception ex) { throw ex; } } |
3. 返回消息,格式也是xml,说明 http://mp.weixin.qq.com/wiki/14/89b871b5466b19b3efa4ada8e577d45e.html,直接 Response.Write() 输出即可。
注意:输出之前先要Response.Clear(),否则可能由于缓存原因不输出内容.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述