日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

使用C# .net开发微信公众号之服务器URL配置

發布時間:2024/3/13 C# 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用C# .net开发微信公众号之服务器URL配置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

服務器URL配置 是微信公眾號開發里非常重要的一個步驟。

雖然微信公眾平臺已經給了我們很多 必要的功能 像:查看用戶,查看用戶消息,給用戶回復消息,自動給用戶回復消息,根據用戶消息內容回復給用戶圖文消息等等等。。。但是 有些我們需要實現的很多業務功能 微信公眾號的后臺是實現不了的。比如我們要根據用戶的消息、菜單的點擊事件來實現相應的業務邏輯是沒辦法實現的。那么這個時候,我們就要用到微信提供給我們的 配置服務器URL的功能了。這個URL可以是 一個aspx頁面 比如:www.xxxx.com/index.aspx ?還可以是一個webservice的地址。?當然不管是頁面還是webservice?都要部署在一個對外的服務器上(需要外網ip或者域名),這樣微信的服務器才能給我們設置的的URL地址發送消息。下面是微信開發手冊里的內容,對于一些個別特別的內容我給大家解釋一下(大家可以跳過下面的說明因為是從微信開發手冊復制來的說明后面有一些我認為會對大家造成疑惑的地方的一些介紹):

接入指南

接入概述

接入微信公眾平臺開發,開發者需要按照如下步驟完成:

1、填寫服務器配置

2、驗證服務器地址的有效性

3、依據接口文檔實現業務邏輯

下面詳細介紹這3個步驟。

第一步:填寫服務器配置

登錄微信公眾平臺官網后,在公眾平臺官網的開發-基本設置頁面,勾選協議成為開發者,點擊“修改配置”按鈕,填寫服務器地址(URL)、Token和EncodingAESKey,其中URL是開發者用來接收微信消息和事件的接口URL。Token可由開發者可以任意填寫,用作生成簽名(該Token會和接口URL中包含的Token進行比對,從而驗證安全性)。EncodingAESKey由開發者手動填寫或隨機生成,將用作消息體加解密密鑰。

同時,開發者可選擇消息加解密方式:明文模式、兼容模式和安全模式。模式的選擇與服務器配置在提交后都會立即生效,請開發者謹慎填寫及選擇。加解密方式的默認狀態為明文模式,選擇兼容模式和安全模式需要提前配置好相關加解密代碼,詳情請參考消息體簽名及加解密部分的文檔。

?

第二步:驗證消息的確來自微信服務器

開發者提交信息后,微信服務器將發送GET請求到填寫的服務器地址URL上,GET請求攜帶參數如下表所示:

參數描述
signature微信加密簽名,signature結合了開發者填寫的token參數和請求中的timestamp參數、nonce參數。
timestamp時間戳
nonce隨機數
echostr隨機字符串

?

開發者通過檢驗signature對請求進行校驗(下面有校驗方式)。若確認此次GET請求來自微信服務器,請原樣返回echostr參數內容,則接入生效,成為開發者成功,否則接入失敗。加密/校驗流程如下:

1)將token、timestamp、nonce三個參數進行字典序排序

2)將三個參數字符串拼接成一個字符串進行sha1加密

3)開發者獲得加密后的字符串可與signature對比,標識該請求來源于微信

?

檢驗signature的PHP示例代碼:

private function checkSignature()

{

? ? ? ? $signature = $_GET["signature"];

? ? ? ? $timestamp = $_GET["timestamp"];

? ? ? ? $nonce = $_GET["nonce"];

? ? ? ??

$token = TOKEN;

$tmpArr = array($token, $timestamp, $nonce);

sort($tmpArr, SORT_STRING);

$tmpStr = implode( $tmpArr );

$tmpStr = sha1( $tmpStr );

?

if( $tmpStr == $signature ){

return true;

}else{

return false;

}

}

PHP示例代碼下載:下載

第三步:依據接口文檔實現業務邏輯

驗證URL有效性成功后即接入生效,成為開發者。你可以在公眾平臺網站中申請微信認證,認證成功后,將獲得更多接口權限,滿足更多業務需求。

成為開發者后,用戶每次向公眾號發送消息、或者產生自定義菜單、或產生微信支付訂單等情況時,開發者填寫的服務器配置URL將得到微信服務器推送過來的消息和事件,開發者可以依據自身業務邏輯進行響應,如回復消息。

公眾號調用各接口時,一般會獲得正確的結果,具體結果可見對應接口的說明。返回錯誤時,可根據返回碼來查詢錯誤原因。全局返回碼說明

用戶向公眾號發送消息時,公眾號方收到的消息發送者是一個OpenID,是使用用戶微信號加密后的結果,每個用戶對每個公眾號有一個唯一的OpenID。

此外,由于開發者經常有需在多個平臺(移動應用、網站、公眾帳號)之間共通用戶帳號,統一帳號體系的需求,微信開放平臺(open.weixin.qq.com)提供了UnionID機制。開發者可通過OpenID來獲取用戶基本信息,而如果開發者擁有多個應用(移動應用、網站應用和公眾帳號,公眾帳號只有在被綁定到微信開放平臺帳號下后,才會獲取UnionID),可通過獲取用戶基本信息中的UnionID來區分用戶的唯一性,因為只要是同一個微信開放平臺帳號下的移動應用、網站應用和公眾帳號,用戶的UnionID是唯一的。換句話說,同一用戶,對同一個微信開放平臺帳號下的不同應用,UnionID是相同的。詳情請在微信開放平臺的資源中心-移動應用開發-微信登錄-授權關系接口調用指引-獲取用戶個人信息(UnionID機制)中查看。

----------------------------------------下面進入正題-------------------------------------------

注意,微信公眾號接口必須以“http://”或“https://”開頭,分別支持80端口和443端口。

第一步中:

1.?填寫服務器地址(URL)這個URL就是我們發布到我們服務器上的一個網站 或者WebService或者WebAPI的地址。這個地址必須要以http:// 或https:// 開頭

2. Token 這個Token我們可以隨便填 這個Token是必填字段(這個Token的作用說重要也不重要,說不重要吧,他還和安全有點關系,起到一個驗證的作用 所以我們先設置一個吧)

3.?EncodingAESKey 是一個加密解密的密鑰 ? 如果我們對 消息有安全方面的要求的話,我們可以根據這個密鑰來加解密消息。如果我們在下一個選項中選擇了 安全模式的話 那么我們接受到的消息都是微信根據密鑰加密過的,我們在使用的時候要根據密鑰來解密,發送消息是要根據密鑰加密; 而如果我們使用明文方式 就不在需要加解密這個步驟,但是安全性自然低很多。。大家根據需要來選擇就行了。

第二步中:

1.我們在第一步設置完URL直接點保存 會出現這樣的提示:

圖片什么時候掛掉了..... 就是驗證失敗的提示,因為我們還沒有部署我們的網站或者websevice,自然驗證不了

我們只是設置了地址,在這個地址我們還要寫一些接入的代碼。我們接著往下看第二步。

開發者提交信息后,微信服務器將發送GET請求到填寫的服務器地址URL上

我們在提交配置的時候 微信服務器會發送一個get請求到我們設置的URL地址 請求的GET請求攜帶的參數如下所示:

?

參數描述
signature微信加密簽名,signature結合了開發者填寫的token參數和請求中的timestamp參數、nonce參數。
timestamp時間戳
nonce隨機數
echostr隨機字符串

?

我們需要對微信發送來的請求進行校驗 ?校驗的流程如下:

?

1)將token、timestamp、nonce三個參數進行字典序排序

2)將三個參數字符串拼接成一個字符串進行sha1加密

3)開發者獲得加密后的字符串可與signature對比,標識該請求來源于微信

我把我寫的代碼貼出來供大家參考:

public void getMessage() { string token = "123456";if (string.IsNullOrEmpty(token)){return;}string echoString = HttpContext.Current.Request.QueryString["echoStr"];string signature = HttpContext.Current.Request.QueryString["signature"];string timestamp = HttpContext.Current.Request.QueryString["timestamp"];string nonce = HttpContext.Current.Request.QueryString["nonce"];if (!string.IsNullOrEmpty(echoString)){HttpContext.Current.Response.Write(echoString);HttpContext.Current.Response.End();} }

其中signature是 微信根據我們第一步中設置的token 和 timestamp 還有 nonce 先進行 字典排序 然后再經過sha1

加密后生成的。 我上面的代碼是沒有進行驗證這個步驟的。 ? 如果我們要進行安全驗證就要 把我們設置的token 、接

收到的timestamp、接收到的nonce 進行字典排序 然后 sha1加密 ?后與接收到的signature 進行比對 如果比對成功

則返回 echoString 否則 什么都不返回 或者 返回空。 這些代碼我們可以寫在 ?aspx 頁面的后臺代碼 aspx.cs 的?

page_load 里。如果我們寫的是webservice 那么我們在設置URL的時候一定要在URL中把方法名帶上 比如:?

www.xxxx.xom/getmsg.asmx/getMessage

以上就是我們配置URL的全部步驟,到此我們就完成了配置URL。以后不管是用戶的消息,還是微信推送的消息 微信

服務器都會轉發到我們設置的這個服務器地址來。。。但是這也帶來了別的問題,就是微信服務器給我們的服務器轉

發消息,我們必須給他回復,不然就會有比較嚴重的問題出現。 比如用戶給我們的公眾號發送消息,然后微信服務器

轉發消息到我們的服務器 但是我們沒有給這個消息回復內容,這個用戶就會看到 此公眾號暫時無法提供服務?的提

示,然后我們就要對消息進行一些處理了。

這一篇就先講到這下一篇 ?使用C# .net開發微信公眾號之自動回復消?中我再給大家講解 在我們服務器端進行消息回復。歡迎大家持續關注!! 謝謝。

此方式或許有不妥之處,熱烈歡迎大家吐槽。。。?錯誤之處也請大家指正,謝謝??----- ? ?WeepingWeeper

謝謝大家觀看參考,讓我們一同進步。

微信的其他接口調用在持續更新中。。。歡迎關注持續關注。。

總結

以上是生活随笔為你收集整理的使用C# .net开发微信公众号之服务器URL配置的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 在线免费视频 | 日本一区视频在线播放 | 丰满少妇高潮一区二区 | 日韩中文字幕国产 | 91国偷自产一区二区三区观看 | 国产九九久久 | 热久久最新 | 一级黄大片 | 伊人久久大香线蕉综合网站 | 西比尔在线观看完整视频高清 | 黄a大片| 午夜精品福利一区二区蜜股av | 自拍亚洲综合 | 国产精品人人爽 | 婷婷成人在线 | 欧美va在线观看 | 欧美激情网 | 简单av在线 | 国产一区二区影院 | 无限资源日本好片 | 欧美成人综合网站 | 经典三级第一页 | 污视频在线免费 | 美女视频一区 | 久久久视频在线观看 | 九色视频91 | 国产高清在线观看 | 人人干干| 99热2| 成人h视频在线观看 | 动漫一区二区三区 | 五月天综合婷婷 | 日本激情一区二区 | 黄色小视频在线看 | 成人免费精品 | 欧美色图小说 | 欧美一区二区三区在线视频 | 国产伦精品一区二区三区高清版禁 | 日韩欧美国产一区二区三区 | 在线看黄网址 | 日本美女操 | 欧美人与按摩师xxxx | 在线观看日韩一区二区 | 色婷婷一区 | 日韩性生交大片免费看 | 黄色资源网 | 乱色精品无码一区二区国产盗 | 久久精品超碰 | 天天爱夜夜操 | 一起草国产 | 国内成人在线 | 激情综合网站 | 欧美精品在线第一页 | 成人免费在线小视频 | 亚洲欧美日韩电影 | 国产精品666 | 99热在线观看免费 | 日韩成人一区二区 | 91偷拍精品一区二区三区 | 日批黄色片 | 尤物网站在线观看 | 蜜桃视频成人在线观看 | 欧美亚洲久久 | 91精品国自产在线观看 | 中国黄色片子 | 天天躁日日躁aaaa视频 | 69视频一区二区 | 天天射夜夜爽 | 国产成人精品一区二区三区网站观看 | 久草福利视频 | 懂色av蜜臀av粉嫩av分享吧 | 在线日韩免费 | 国产在线观看免费视频今夜 | av网站在线观看不卡 | 日日操天天射 | heyzo亚洲| 国产激情无码一区二区三区 | 波多在线播放 | 午夜激情久久 | 欧美性xxxxx极品娇小 | 99免费国产| 黄色正能量网站 | 欧美日韩在线直播 | 激情文学88 | 97国产一区 | 亚洲精品a级 | 国产99久久久国产精品成人免费 | 精品国产综合区久久久久久 | 善良的女邻居在线观看 | 最新av在线网址 | 国产精品高潮呻吟久久av野狼 | 在线天堂1 | 成人爽a毛片一区二区 | 男男肉耽高h彩漫 | 中文字幕日日 | 中文字幕一区二区三区波野结 | 久久青青热 | 美女被揉胸视频 | www.久热 |