記一次接收微信公眾平台推送訊息的例項

2022-01-11 01:52:41 字數 3909 閱讀 1457

這種設定的東西,其實跟著官網設定就行了,不過本人根據官網文件一步一步設定的時候,還是遇到一些問題,因此這裡需要記錄下注意的關鍵點;首先我們登陸公眾平台-》開發-》基本配置-》點選「修改配置」-》這個時候會出現以下截圖:

填寫上面內容的時候需要注意以下幾點:

1. 接收的url位址必須外網能訪問並且在80埠

2. 第一次儲存「伺服器配置」時,必須在接收位址中以get方式獲取的公眾平台通知的「echostr」引數,然後返回輸出這個「echostr」值給平台(這樣你在公眾平台儲存服務配置的時候才能成功),這個地方官網文字描述不是很突出,不重點看的話很難發現

到此,只要做到上面兩點那麼您「伺服器配置」才能儲存成功,千萬仔細哦;

1

///2

///接收「服務配置」時通知的資訊 格式如:signature=08c66dd8b2fd8fe43118965b336d6098642607f3&echostr=6917887702473243501×tamp=1491458849&nonce=1123949701

///接收post過來的使用者傳送的內容資訊

//訊息型別 對應列舉 msgtypeem

30switch

(data.msgtype)

3149

50//

自動回覆資訊(暫時:只有文字內容)

51var rehuayu = string

.empty;

52if (data.content.contains("

測試") || data.content.contains("

ceshi"))

5356

else

if (data.content.contains("

你好") || data.content.contains("

您好") || data.content.contains("

群主") || data.content.contains("在麼"

))57

6061

if (!string

.isnullorwhitespace(rehuayu))

6267

6869",

70data.fromusername,

71data.tousername,

72now,73"

text",

74rehuayu);75}

76}77catch

(exception ex)

78->");

80}81finally

8287}88

return

restr;

89 }

本次我使用的是.netcore的webapi來接收通知訊息,但是當公眾平台有80埠限制的時候,頓時我蒙了,因為我伺服器iis上有乙個專案是繫結了80埠的,這個時候如果使用kestrel再繫結乙個埠那肯定不行的;想到iis可以建立虛擬子應用程式(多個子應用程式對應乙個大的**配置,這樣80埠就可以共享了),思考著kestrel是不是也可以呢,失望的是查了很多資料都暫時沒有涉及到或者是我沒有找到這方面的資料,因此只好放棄了;

下面分享下.netcore中我操作xml序列化和反序列方法,首先需要引入 system.xml.serialization :

1

///2

///xml字串反序列化

3///

4///

5///

6///

7public

static t _xmldeserialize(string xml) where t : class, new()8

17return

t;18}19

20///

21///

xml序列化

22///

23///

24///

25public

static

string _xmlserialize(object

obj)

2637

return

strbuidler.tostring();

38 }

文字日誌

1

///2

///文字日誌

3///

4///

5///

6public

static

async

void writelog(string content, string basepath = null)7

.txt";

16var path =path.combine(basepath, year, month, date, filename);

17if (!system.io.file.exists(path))

1822

23 basepath =path.combine(basepath, month);

24if (!directory.exists(basepath))

2526 basepath =path.combine(basepath, date);

27if (!directory.exists(basepath))

2829 path =path.combine(basepath, filename);30}

31using (filestream stream = new32:

");36}

37}38 }

總結一下吧:

微信公眾平台開發 接收訊息 接收普通資訊

1348831860 1234567890123456 引數 描述 fromusername 傳送方帳號 乙個openid createtime 訊息建立時間 整型 msgtype text content 文字訊息內容 msgid 訊息id,64位整型 那麼這些引數該如何獲取呢,示例 如下 定義 ...

微信公眾平台訊息加解密

php的demo給了一對加密解密的例子,不是很清楚,根據常用的php格式 其實加密方式很簡單,如下 poststr file get contents php input 第三方傳送訊息給公眾平台 encodingaeskey xx 自己伺服器資訊裡的金鑰 token 自己伺服器資訊裡的token ...

從一次微信訂閱使用者小眾調研看微信公眾平台賬號推廣

2013年3月中旬,辭職閒賦在家,看到一篇談論微信自 運營的文章,感覺挺有意思,於是索性動手開通了營銷智庫網的官方微信公眾賬號 domarketing 營銷智庫。cqsddzw當時只是將公眾賬號的 放置於官方 文章頁右上角的位置,並在官方新浪微博頁面掛了 的推薦,此外通過im告訴了幾十個 親朋好友 ...