Home > php教程 > php手册 > 《C#微信开发系列(1)-启用开发者模式》

《C#微信开发系列(1)-启用开发者模式》

WBOY
Release: 2016-07-06 13:30:21
Original
1255 people have browsed it

1.0启用开发者模式 ①填写服务器配置: 启用开发模式需要先成为开发者,而且编辑模式和开发模式只能选择一个(进入微信公众平台=开发=基本配置) 就可以看到以下的界面: 点击修改配置,会出现以下界面: 填写服务器地址(URL)、Token和EncodingAESKey,其

1.0启用开发者模式

 

①填写服务器配置:

启用开发模式需要先成为开发者,而且编辑模式和开发模式只能选择一个(进入微信公众平台=>开发=>基本配置)就可以看到以下的界面:

 

 

点击修改配置,会出现以下界面:

 

 

填写服务器地址(URL)、Token和EncodingAESKey,其中URL是开发者用来接收微信消息和事件的接口URL。Token可由开发者可以任意填写,用作生成签名(该Token会和接口URL中包含的Token进行比对,从而验证安全性)。EncodingAESKey由开发者手动填写或随机生成,将用作消息体加解密密钥。

 

同时,开发者可选择消息加解密方式:明文模式、兼容模式和安全模式。模式的选择与服务器配置在提交后都会立即生效,请开发者谨慎填写及选择。加解密方式的默认状态为明文模式,选择兼容模式和安全模式需要提前配置好相关加解密代码,详情请参考消息体签名及加解密部分的文档(微信公众号消息加解密开发文档)。

 

②验证服务器地址的有效性:

开发者提交信息后,微信服务器将发送GET请求到填写的服务器地址URL上,GET请求携带四个参数。

 

开发者通过检验signature对请求进行校验(下面有校验方式)。若确认此次GET请求来自微信服务器,请原样返回echostr参数内容,则接入生效,成为开发者成功,否则接入失败(注意:微信服务器只支持80端口)。

使用GET请求带上以上参数请求服务器,具体实现代码:

<span style="color: #008080;"> 1</span> <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> InterfaceTest()
</span><span style="color: #008080;"> 2</span> <span style="color: #000000;">{
</span><span style="color: #008080;"> 3</span>   <span style="color: #0000ff;">string</span> token = <span style="color: #800000;">"</span><span style="color: #800000;">配置时填写的token</span><span style="color: #800000;">"</span><span style="color: #000000;">;
</span><span style="color: #008080;"> 4</span> 
<span style="color: #008080;"> 5</span>   <span style="color: #0000ff;">string</span> echoString = HttpContext.Current.Request.QueryString[<span style="color: #800000;">"</span><span style="color: #800000;">echoStr</span><span style="color: #800000;">"</span><span style="color: #000000;">];
</span><span style="color: #008080;"> 6   </span><span style="color: #0000ff;">string</span> signature = HttpContext.Current.Request.QueryString[<span style="color: #800000;">"</span><span style="color: #800000;">signature</span><span style="color: #800000;">"</span><span style="color: #000000;">];
</span><span style="color: #008080;"> 7</span>   <span style="color: #0000ff;">string</span> timestamp = HttpContext.Current.Request.QueryString[<span style="color: #800000;">"</span><span style="color: #800000;">timestamp</span><span style="color: #800000;">"</span><span style="color: #000000;">];
</span><span style="color: #008080;"> 8</span>   <span style="color: #0000ff;">string</span> nonce = HttpContext.Current.Request.QueryString[<span style="color: #800000;">"</span><span style="color: #800000;">nonce</span><span style="color: #800000;">"</span><span style="color: #000000;">];
</span><span style="color: #008080;"> 9</span> 
<span style="color: #008080;">10</span>   <span style="color: #0000ff;">if</span> (!<span style="color: #0000ff;">string</span><span style="color: #000000;">.IsNullOrEmpty(echoString))
</span><span style="color: #008080;">11</span>   <span style="color: #000000;">{
</span><span style="color: #008080;">12</span>     <span style="color: #000000;">HttpContext.Current.Response.Write(echoString);
</span><span style="color: #008080;">13</span>     <span style="color: #000000;">HttpContext.Current.Response.End();
</span><span style="color: #008080;">14</span>   <span style="color: #000000;">}
</span><span style="color: #008080;">15</span> }
Copy after login

 


Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template