1.0啟用開發者模式 ①填寫伺服器配置: 啟用開發模式需要先成為開發者,而且編輯模式和開發模式只能選擇一個(進入微信公眾平臺=>開發=>基本配置)就可以看到以下的界面: 點擊修改配置,會出現以下界面: 填寫伺服器地址(URL)、Token和EncodingAESKey,其中URL是開發者用來接收微信
1.0啟用開發者模式
①填寫伺服器配置:
啟用開發模式需要先成為開發者,而且編輯模式和開發模式只能選擇一個(進入微信公眾平臺=>開發=>基本配置)就可以看到以下的界面:
點擊修改配置,會出現以下界面:
填寫伺服器地址(URL)、Token和EncodingAESKey,其中URL是開發者用來接收微信消息和事件的介面URL。Token可由開發者可以任意填寫,用作生成簽名(該Token會和介面URL中包含的Token進行比對,從而驗證安全性)。EncodingAESKey由開發者手動填寫或隨機生成,將用作消息體加解密密鑰。
同時,開發者可選擇消息加解密方式:明文模式、相容模式和安全模式。模式的選擇與伺服器配置在提交後都會立即生效,請開發者謹慎填寫及選擇。加解密方式的預設狀態為明文模式,選擇相容模式和安全模式需要提前配置好相關加解密代碼,詳情請參考消息體簽名及加解密部分的文檔(微信公眾號消息加解密開發文檔)。
②驗證伺服器地址的有效性:
開發者提交信息後,微信伺服器將發送GET請求到填寫的伺服器地址URL上,GET請求攜帶四個參數。
開發者通過檢驗signature對請求進行校驗(下麵有校驗方式)。若確認此次GET請求來自微信伺服器,請原樣返回echostr參數內容,則接入生效,成為開發者成功,否則接入失敗(註意:微信伺服器只支持80埠)。
使用GET請求帶上以上參數請求伺服器,具體實現代碼:
1 public void InterfaceTest() 2 { 3 string token = "配置時填寫的token"; 4 5 string echoString = HttpContext.Current.Request.QueryString["echoStr"]; 6 string signature = HttpContext.Current.Request.QueryString["signature"]; 7 string timestamp = HttpContext.Current.Request.QueryString["timestamp"]; 8 string nonce = HttpContext.Current.Request.QueryString["nonce"]; 9 10 if (!string.IsNullOrEmpty(echoString)) 11 { 12 HttpContext.Current.Response.Write(echoString); 13 HttpContext.Current.Response.End(); 14 } 15 }