


C# WeChat-Entwicklungsprinzip und Implementierungsmethode zum Empfangen/Zurücksenden von Textnachrichten
Mar 16, 2017 pm 02:52 PMDieser ArtikelC#Das Prinzip und die Implementierungsmethode zum Empfangen/Zurückgeben von Textnachrichten in der WeChat-Entwicklung haben einen gewissen Referenzwert. Schauen wir uns das mit dem Editor an
Empfangen / Textnachrichten zurücksenden
①Erl?uterung des Prinzips des Empfangens/Zurücksendens von Textnachrichten
Wenn normale WeChat-Benutzer Nachrichten an ?ffentliche Konten senden , WeChat Der Server sendet das XML-Datenpaket der POST-Nachricht an die vom Entwickler eingegebene URL. Lesen Sie vor Beginn der Entwicklung die WeChat-Entwicklungsdokumentation für die ?ffentliche WeChat-Plattform, die normale Nachrichten empf?ngt, und verschaffen Sie sich ein gewisses Verst?ndnis davon WeChats Nachrichtenverarbeitungsmechanismus. Starten Sie die Entwicklung (WeChat-Entwicklungsdokument zum Empfangen gew?hnlicher Nachrichten). Informationen zu Wiederholungsversuchen Für die Duplizierung von Nachrichten wird empfohlen, msgid zum Deduplizieren von Nachrichten zu verwenden.
2. Wenn der WeChat-Server innerhalb von fünf Sekunden keine Antwort erh?lt, wird die Verbindung getrennt und die Anfrage erneut gestartet, wobei es insgesamt dreimal erneut versucht wird. Wenn der Server die Verarbeitung und Antwort nicht innerhalb von fünf Sekunden garantieren kann, k?nnen Sie direkt mit einer leeren Zeichenfolge antworten. Der WeChat-Server wird damit nichts anfangen und keinen erneuten Versuch einleiten. Einzelheiten finden Sie unter ?
Nachricht senden -Passive Antwortnachricht
“. 3. Um einen h?heren Sicherheitsschutz zu gew?hrleisten, k?nnen Entwickler im Entwicklercenter auf der offiziellen Website der Nachrichtenverschlüsselung einrichten ?ffentliche Plattform. Nachdem die Verschlüsselung aktiviert wurde, werden von Benutzern gesendete Nachrichten verschlüsselt, und die passiven Antworten ?ffentlicher Konten auf Benutzernachrichten müssen ebenfalls verschlüsselt werden (Entwickler senden Nachrichten an Benutzer jedoch über die Kundendienst-Schnittstelle und andere API-Aufrufe) sind nicht betroffen. Ausführliche Anweisungen zur Nachrichtenverschlüsselung und -entschlüsselung finden Sie unter ?
Anweisungen zur Nachrichtenverschlüsselung und -entschlüsselung“. Das XML-Format für POST an den Entwicklerserver ist:
Nachricht empfangenDatenpaket-Parameterbeschreibung:
<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>
Gibt das XML-Format der Textnachricht zurück:
Beschreibung der Parameter für das Paket der zurückgegebenen SMS:
<xml> <ToUserName><![CDATA[toUser]]></ToUserName> <FromUserName><![CDATA[fromUser]]></FromUserName> <CreateTime>12345678</CreateTime> <MsgType><![CDATA[text]]></MsgType> <Content><![CDATA[你好]]></Content> </xml>
②Implementierung des SMS-Codes zum Empfangen/Zurückgeben
Der Entwickler empf?ngt das XML-Datenpaket POST vom WeChat-Server auf seinem eigenen Server. Der Empfangscode lautet wie folgt:
Hinweis: Beim Empfang einer Nachricht muss das Nachrichtenformat in das ?GBK“-Format konvertiert werden, da es sonst beim sp?teren Parsen der Nachricht nicht effektiv analysiert wird .
Der Code der ReturnMessage()-Verarbeitungsmethode lautet wie folgt:
if(IsPostBack) { //*********************************自動應(yīng)答代碼塊********************************* string postString = string.Empty; using (Stream stream = HttpContext.Current.Request.InputStream) { Byte[] postBytes = new Byte[stream.Length]; stream.Read(postBytes, 0, (Int32)stream.Length); //接收的消息為GBK格式 postString = Encoding.GetEncoding("GBK").GetString(postBytes); string responseContent = help.ReturnMessage(postString ); //返回的消息為UTF-8格式 HttpContext.Current.Response.ContentEncoding = Encoding.UTF8; HttpContext.Current.Response.Write(responseContent); } //********************************自動應(yīng)答代碼塊end******************************* }
Der Code der TextHandle(xmldoc)-Verarbeitungsmethode lautet wie folgt:
/// <summary> /// 統(tǒng)一全局返回消息處理方法 /// </summary> /// <param name="postStr"></param> /// <returns></returns> public string ReturnMessage(string postStr) { string responseContent = ""; XmlDocument xmldoc = new XmlDocument(); xmldoc.Load(new System.IO.MemoryStream(System.Text.Encoding.GetEncoding("GB2312").GetBytes(postStr))); XmlNode MsgType = xmldoc.SelectSingleNode("/xml/MsgType"); if (MsgType != null) { switch (MsgType.InnerText) { case "event": responseContent = EventHandle(xmldoc);//菜單事件處理 break; case "text": responseContent = TextHandle(xmldoc);//文本消息處理 break; default: break; } } return responseContent; }
Die Codedemonstration für Die Implementierung der Funktion wurde hier abgeschlossen. Andere nachfolgende Nachrichtenverarbeitungsmodi interagieren ebenfalls auf Basis dieser Methode, wie zum Beispiel: Empfangen/Antworten von Textnachrichten, Bildnachrichten, Sprachnachrichten, Videonachrichten , kleine Videonachrichten, Geolokalisierungsnachrichten, Linknachrichten usw. k?nnen unter Bezugnahme auf den obigen Code implementiert werden.
Das obige ist der detaillierte Inhalt vonC# WeChat-Entwicklungsprinzip und Implementierungsmethode zum Empfangen/Zurücksenden von Textnachrichten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)