In diesem Artikel wird hauptsächlich die Verwendung von asp.net vorgestellt Relevante Informationen zur Entwicklung der öffentlichen WeChat-Plattform zum Empfangen und Verarbeiten von Benutzernachrichten finden Freunde in Not unter
Benutzernachrichten erhalten
Die von Benutzern gesendeten Nachrichten Sind auf dem WeChat-Server enthalten und werden in einer HTTP-POST-Anfrage gesendet, muss die vom Benutzer gesendete Nachricht aus dem Datenstrom der POST-Anfrage abgerufen werden
Beispiel für eine HTTP-Anfragenachricht für die WeChat-Server, um die Nachricht an den Server zu senden
POST /cgi-bin/wxpush?msg_signature=477715d11cdb4164915debcba66cb864d751f3e6×tamp=1409659813&nonce=1372623149 HTTP/ 1.1
Host: qy .weixin.qq.com
Daten aus POST-Anfrage abrufen
Die auf diese Weise erhaltene Benutzernachricht kann in zwei Situationen vorliegen : verschlüsselte Nachricht oder unverschlüsselte Nachricht. Dies hängt mit der Auswahl des Nachrichtenverschlüsselungs- und Entschlüsselungsmodus zusammen, wenn Sie den Klartextmodus auswählen Wenn Sie Abgesicherten Modus auswählen, werden Benutzernachrichten verschlüsselt und müssen vor der weiteren Verarbeitung entschlüsselt werden
2. Auf Benutzernachrichten antworten
Siehe Dokumentation zur Entwicklung der öffentlichen WeChat-Plattform
•Textnachrichten
<xml> <ToUserName><![CDATA[{0}]]></ToUserName> <FromUserName><![CDATA[{1}]]></FromUserName> <CreateTime>{2}</CreateTime> <MsgType><![CDATA[text]]></MsgType> <Content><![CDATA[{3}]]></Content> </xml>
•BilderNachrichten
<xml> <ToUserName><![CDATA[{0}]]></ToUserName> <FromUserName><![CDATA[{1}]]></FromUserName> <CreateTime>{2}</CreateTime> <MsgType><![CDATA[image]]></MsgType> <Image> <MediaId><![CDATA[{3}]]></MediaId> </Image> </xml>
Das Nachrichtenformat ist bereits vorhanden, dann müssen wir nur noch die entsprechenden Parameter einstellen
responseContent = string.Format(ReplyType.Message_Text, FromUserName.InnerText, ToUserName.InnerText, DateTime.Now.Ticks, String.IsNullOrEmpty(reply)?"Sorry,I can not follow you." :reply);
3. Verschlüsselung und Entschlüsselung von Benutzernachrichten und Servernachrichten
Entwicklerdokumentation für die öffentliche WeChat-Plattform c++, C#, Java usw. Für Sprachverschlüsselungs- und -entschlüsselungsbeispiele verwenden wir nur zwei der Dateien. Sample.cs ist der vom WeChat-Team bereitgestellte Beispielcode . Es ist nicht erforderlich, auf die Dateien WXBizMsg
.cs und Cryptography.cs zu verweisen neue Klasse WeChatSecurityHelper und rufen Sie seine Methode zum Verschlüsseln und Entschlüsseln auf. siehe CodebeispielWeChatSecurityHelper
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Common { public class WeChatSecurityHelper { /// <summary> /// 定义Token,与微信公共平台上的Token保持一致 /// </summary> private const string Token = "StupidMe"; /// <summary> /// AppId 要与 微信公共平台 上的 AppId 保持一致 /// </summary> private const string AppId = "11111111111"; /// <summary> /// 加密用 /// </summary> private const string AESKey = "pvX2KZWRLQSkUAbvArgLSAxCwTtxgFWF3XOnJ9iEUMG"; private static Tencent.WXBizMsgCrypt wxcpt = new Tencent.WXBizMsgCrypt(Token, AESKey, AppId); private string signature,timestamp,nonce; private static LogHelper logger = new LogHelper(typeof(WeChatSecurityHelper)); public WeChatSecurityHelper(string signature, string timestamp, string nonce) { this.signature = signature; this.timestamp = timestamp; this.nonce = nonce; } /// <summary> /// 加密消息 /// </summary> /// <param name="msg">要加密的消息</param> /// <returns>加密后的消息</returns> public string EncryptMsg(string msg) { string encryptMsg=""; int result = wxcpt.EncryptMsg(msg, timestamp, nonce, ref encryptMsg); if (result == 0) { return encryptMsg; } else { logger.Error("消息加密失败"); return ""; } } /// <summary> /// 解密消息 /// </summary> /// <param name="msg">消息体</param> /// <returns>明文消息</returns> public string DecryptMsg(string msg) { string decryptMsg = ""; int result = wxcpt.DecryptMsg(signature, timestamp, nonce, msg,ref decryptMsg); if (result != 0) { logger.Error("消息解密失败,result:"+result); } return decryptMsg; } } }
Das obige ist der detaillierte Inhalt vonVerwenden Sie asp.net, um die öffentliche WeChat-Plattform zu entwickeln, um Benutzernachrichten abzurufen und zu verarbeiten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!