微信企業號開發:啟用回調模式

微信企業號開發怎樣啟用回調模式?就是簡單的登陸PC版微信,點擊應用中心,選擇須要應用,再點擊回調模式啟用?

似乎不是這么簡單。!



能夠看到核心的僅僅有三個URL。Token,EncodingAESKey這三個參數能夠隨便填寫嗎?
1URL能夠隨便填寫嗎?
?
能夠肯定的是。不能隨便填寫。

不信你能夠試試。由于點擊確定后微信會給這個URL發送信息。因此這個URL必須是外網能夠訪問的地址。


并且后臺還必須處理微信發送過來的信息。比如URL 是http://www.hao123.com/能夠在外網方法。但點擊保存時就會出現:
echostr校驗失敗。請您檢查是否正確解密并輸出明文echostr


2Token能夠隨便填寫嗎?
能夠。眼下我沒有發現有什么特殊的要求


3EncodingAESKey能隨便填寫嗎?
不能隨便填寫,必須是數字字母的組合。并且是43個字符。建議使用微信隨機生成的。


?


我們知道在URL處配置一個外網能夠訪問的URL,并不能保證保存成功,后臺怎樣處理呢?
比如我配置為http://.../TestWeixin.ashx
則后臺的處理方式。須要調用微信的相關加密解密函數
TestWeixin.ashx的后臺代碼為:

 public void ProcessRequest (HttpContext context) {if (context.Request.HttpMethod.ToLower() == "post"){            }else //點擊保存時。微信須要驗證時調用{Valid();}}private void Valid(){string msg_signature = HttpContext.Current.Request.QueryString["msg_signature"];string timestamp = HttpContext.Current.Request.QueryString["timestamp"];string nonce = HttpContext.Current.Request.QueryString["nonce"];string decryptEchoString = "";  // 解析之后的明文string echoStr = HttpContext.Current.Request.QueryString["echoStr"];bool isok = CheckSignature(msg_signature, timestamp, nonce, echoStr, ref decryptEchoString);if (isok){if (!string.IsNullOrEmpty(decryptEchoString)){HttpContext.Current.Response.Write(decryptEchoString);HttpContext.Current.Response.End();}}      }public bool CheckSignature(string signature, string timestamp, string nonce,string echostr, ref string retEchostr){string token = "token"; //配置的tokenstring corpId = "corpId"; //corpid,string encodingAESKey = "encodingAESKey"; //配置的tokenencodingAESKeyWXBizMsgCrypt wxcpt = new WXBizMsgCrypt(token, encodingAESKey, corpId); //調用微信提供的函數int result = wxcpt.VerifyURL(signature, timestamp, nonce, echostr, ref retEchostr);//調用微信提供的函數if (result != 0){LogInfo.Error("ERR: VerifyURL fail, ret: " + result);return false;}return true;//ret==0表示驗證成功。retEchostr參數表示明文,用戶須要將retEchostr作為get請求的返回參數,返回給企業號。        }



本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/282292.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/282292.shtml
英文地址,請注明出處:http://en.pswp.cn/news/282292.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

MVC中提交表單的4種方式

一,MVC HtmlHelper方法 Html.BeginForm(actionName,controllerName,method,htmlAttributes){} BeginRouteForm 方法 (HtmlHelper, String, Object, FormMethod) 二,傳統Form表單Aciton屬性提交 三,JqueryAjax 提交表單 四,MVC C…

photoshop制作網站圓形圖標ico

1、選擇左側工具欄中的橢圓工具2、鼠標直接在圖片上選擇區域3、在圖片上鼠標右鍵建立選區,在彈出的對話框直接點確定變成這樣:4、點擊選擇,然后點擊反選變成這樣5、圖層欄,在圖片上右鍵復制圖層,彈出對話框直接確定即可…

《簡明 PHP 教程》00 開篇

《簡明 PHP 教程》是一本旨在介紹如何使用 PHP 語言進行編程的自由圖書。它以教材與指南的形式為入門者介紹 PHP 編程語言。如果你對電腦知識的了解僅限于如何保存文本文件的話,那這本書就是為你準備的。 本博客后續將以連載的方式為讀者呈現這本書。 關于作者 一名…

WPF 窗體設置亞克力效果

WPF 窗體設置亞克力效果控件名:WindowAcrylicBlur作者: WPFDevelopersOrg - 吳鋒原文鏈接: https://github.com/WPFDevelopersOrg/WPFDevelopers框架使用大于等于.NET40。Visual Studio 2022。項目使用 MIT 開源許可協議。WindowAcrylicB…

JS向后臺傳遞json數組對象

var Obj [];            //一下代碼可以循環插入            var returnObj new Object();//創建一個對象returnObj.id “123”;returnObj.money 456“”;Obj.push(returnObj);           JS中將Obj對象進行序列化操作   …

ArrayBlockingQueue跟LinkedBlockingQueue的區別

1.隊列中的鎖的實現不同 ArrayBlockingQueue中的鎖是沒有分離的,即生產和消費用的是同一個鎖; LinkedBlockingQueue中的鎖是分離的,即生產用的是putLock,消費是takeLock 2.在生產或消費時操作不同 ArrayBlockingQueue基于數組&…

jqGrid('setSelection',rowid)報Cannot read property 'multiple' of undefined

項目組非要上jeeweb框架,用jqgrid大量iframe做為前端框架,臃腫不堪。 今天上午,在進行選定操作jqGrid(setSelection,rowid)報Cannot read property multiple of undefined,怎么分析也找不出原因,最后百度搜了一下竟然有…

數據分塊加載——BigPipe 技術【類似facebook】

一、原理 分塊加載,加載完一塊,就先把頁面數據刷給用戶,再加載下面的,直到加載完畢二、基礎需知:三、服務端和php的相應配置 如果想實現分塊加載【bigpipe技術】,還需要對nginx.conf 和 php.ini 進行相應配…

Maven -- 在進行war打包時用正式環境的配置覆蓋開發環境的配置

我們的配置文件一般都放在 src/main/resource 目錄下。 假定我們的正式環境配置放在 src/main/online-resource 目錄下。 那么打成war包時&#xff0c;我們希望用online-resource下的配置文件取代resource 下的配置文件。 pom.xml 插件配置&#xff1a; <plugin><gr…

右鍵一下,哇塞!

面向 Dev 頻道的 Windows 預覽體驗成員微軟推送了 Windows 11 預覽版Insider Preview Build 25211主要變化1.微軟改進了 Windows 11 小組件面板&#xff0c;小組件面板中的添加按鈕更加醒目&#xff0c;點擊用戶頭像將打開小組件設置。Windows 11 小組件由 Microsoft Edge 瀏覽…

前端學習 -- Css -- 內聯元素的盒模型

內聯元素不能設置width和height&#xff1b;設置水平內邊距,內聯元素可以設置水平方向的內邊距&#xff1a;padding-left&#xff0c;padding-right&#xff1b;垂直方向內邊距&#xff0c;內聯元素可以設置垂直方向內邊距&#xff0c;但是不會影響頁面的布局&#xff1b;為元素…

Redis 數據持久化的方案的實現

一、需要了解的基礎 1、Redis實現數據持久化的兩種實現方式&#xff1a; RDB&#xff1a;指定的時間間隔內保存數據快照 AOF&#xff1a;先把命令追加到操作日志的尾部&#xff0c;保存所有的歷史操作二、RDB 實現 Redis數據持久化&#xff08;默認方式&#xff09;1、編輯 red…

div剩余空間填滿

div里有一個固定高度的div使其另一個div填滿空間&#xff0c;外層div設置的高度為百分比&#xff0c;給外層一個相對定位&#xff0c;設置想要充滿的div高度為100%&#xff0c;其中這次有個要求&#xff0c;使其填充div里面的內容距離固定高度div30px&#xff1b;給填充div一個…

快速生成快遞柜唯一取件碼

曾管理一萬多臺快遞柜&#xff0c;優化了系統中生成唯一取件碼的算法。項目&#xff1a;https://github.com/nnhy/PickupCode新建項目&#xff0c;添加 Nuget 應用 NewLife.Redis &#xff0c;借助其Add去重能力。代碼如下&#xff1a;private static void Main(string[] args)…

自動調試自動編譯五分鐘上手

Browsersync能讓瀏覽器實時、快速響應您的文件更改&#xff08;html、js、css、sass、less等&#xff09;并自動刷新頁面。更重要的是 Browsersync可以同時在PC、平板、手機等設備下進項調試。 無論您是前端還是后端工程師&#xff0c;使用它將提高您30%的工作效率。 MD5加密&a…

六臺機器搭建RedisCluster分布式集群

一、RedisCluster結構二、redis Cluster集群搭建1、修改redis.conf中需要更改的配置 bind 改成當前ip cluster-enabled yes #允許redis集群 cluster-config-file nodes-6379.conf #集群配置文件 cluster-node-timeout 15000 #集群中節點允許失聯的最大時間15s 注&#xff1…

C# 的 async/await 其實是stackless coroutine

注&#xff1a; 最近Java 19引入的虛擬線程火熱&#xff0c;還有很多人羨慕 go的 coroutine&#xff0c;很多同學一直有一個疑問&#xff1a; C# 有 虛擬線程或者 coroutine嗎&#xff0c;下面的這個回答可以解決問題。這里節選的是知乎上的hez2010 的高贊回答&#xff1a;http…

推薦使用typora

最近在網上接觸到一款全新的markdown寫作工具——typora。 現在它已經是我的主要寫作工具了。 甚至我也也會利用它安排自己的工作和任務。 typora介紹 下載鏈接特色&#xff1a;可以即時渲染markdown語法的書寫工具總算找到了&#xff0c;終于不用再糾結發生語法錯誤&#xff0…

中文詞頻統計

import jiebafoopen(text.txt,r,encodingutf-8)tfo.read()fo.close() wordsjieba.cut(t)dic{}for w in words: if len(w)1: continue else: dic[w]dic.get(w,0)1wc list(dic.items())wc.sort(keylambda x:x[1],reverse True)for i in range(20): print(wc[i]) 轉載于:https:/…

實現html錨點的兩種方式

1&#xff0c;a標簽name屬性。 2&#xff0c;使用標簽的id屬性&#xff1b;