微信开发第一步—接入指南

一、开发前的准备

1.要有一个公网的地址空间(Azure,阿里云....)

2.自己定义一个Token(自己定义一个字符串就行,后面写代码时候也会用到)

3.信息在客户端,微信服务器,网站之间的处理过程

二、验证服务器地址的有效性

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

参数 描述
signature 微信加密签名,signature结合了开发者填写的token参数和请求中的timestamp参数、nonce参数。
timestamp 时间戳
nonce 随机数
echostr 随机字符串

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

三、进行编码(我这里采用的是ASP.NET MVC的架构)

1.创建一个MVC的空工程

2.创建一个微信使用的Controller

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Web;
 5 using System.Web.Mvc;
 6 using System.Web.Security;
 7 namespace MvcWeiXin.Controllers
 8 {
 9     public class WeChatController : Controller
10     {
11         public const string TOKEN = "*********";
12         //
13         // GET: /WeChat/
14         [HttpGet]
15         public string Index(string signature, string timestamp, string nonce, string echoStr)
16         {
17             if (checkSignature(signature, timestamp, nonce))
18             {
19                 return echoStr;
20             }
21             return string.Empty;
22         }
23         /// <summary>
24         /// 加密/校验流程如下:
25         ///1. 将token、timestamp、nonce三个参数进行字典序排序
26         ///2. 将三个参数字符串拼接成一个字符串进行sha1加密
27         ///3. 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信
28         /// </summary>
29         /// <param name="signature"></param>
30         /// <param name="timestamp"></param>
31         /// <param name="nonce"></param>
32         /// <returns></returns>
33         private bool checkSignature(string signature, string timestamp, string nonce)
34         {
35             string[] checkArray = { TOKEN, timestamp, nonce };
36             //进行字典排序
37             Array.Sort(checkArray);
38             //将数组内的项进行串联
39             string resultTempStr = string.Join("", checkArray);
40             //将字符串进行SHA1加密
41             string resultStr = FormsAuthentication.HashPasswordForStoringInConfigFile(resultTempStr, "SHA1");
42             if (resultStr.ToLower() == signature)
43             {
44                 return true;
45             }
46             return false;
47         }
48     }
49 }

四、将项目发布到虚拟主机里面

1.关于网络主机的选择

这里我使用了万网的免费虚拟主机,简单申请请看下面的图片,具体申请的步骤就不赘述了。

2.发布项目

这里我采用了先在本地生成文件的方式,然后再上传。

发布成功后,桌面就会出现生成后的文件,然后采用FTP的方式上传到网络空间就行了

这里我遇到了一个问题,就是我在上传到万网的时候,出现了以下的信息:

是什么原因导致的我还不清楚,解决办法如下,在你的工程中运行"程序包管理控制台",执行 Update-Package Microsoft.AspNet.WebApi -reinstall

然后重新发布一下,然后上传到虚拟主机

3.测试一下是否成功

如果下图点击“提交”成功的话,证明整个过程就已经通了

时间: 2024-11-25 05:00:51

微信开发第一步—接入指南的相关文章

windows phone开发第一步:搭建软件开发环境

windows phone开发第一步:搭建软件开发环境:http://www.cnblogs.com/hanjun/archive/2012/10/09/2716669.html

记微信开发(图灵机器人接入)

记微信开发(图灵机器人接入) 效果图: ()申请APIKEY步骤略) code: <?php/** * wechat php test */ //define your tokendefine("TOKEN", "jiekou");//定义识别码$wechatObj = new wechatCallbackapiTest();$wechatObj->responseMsg();//$wechatObj->valid(); class wechatC

微信后台开发第一步:nodeJS+express接入微信后台详细教程

博文由  水车  编写 欢迎各位指正,转载请把链接带上! 前期准备工作 1:如果你没有服务器,那你需要一个内网映射工具:我用的是<花生壳>,花生壳在实名认证是需要8RMB的认证费,之后就可以永久使用了,并且支持80端口映射, 注:花生壳在免费申请时要申请内网,不要申请公网. 2:nodeJS 最新版本,安装教程自行上网搜索 3:一个注册号的微信公众号,自行申请,这里不做说明,网上教程已经比较成熟: 花生壳使用教程: 下载地址: http://hsk.oray.com/download/ 安装:

JAVA开发第一步 - JDK安装与配置

JDK的安装与环境变量配置是JAVA开发之路的第一步,很多新人在这一步上就卡了很久,浪费了很多时间,甚至有些人就轻易地“从入门到放弃”了.今天我们就来一步步教你如何打倒这第一只拦路虎. 1.JDK下载 百度搜索jdk关键字,找到第一个英文的链接:     点进去后找到 JAVA SE 8u211,点击JDK下面的DOWNLOAD标志进入下一页. 注意这里,有很多人直接下载了最新版本的JAVA 12,实际上JAVA 12开始是收费的了,而且里面的绝大多数特性都是新手用不到的,JAVA 8已经完全够

微信公众号开发第一步token验证

1 <?php 2 /** 3 * wechat php test 4 */ 5 6 //define your token 7 define("TOKEN", "weixin"); 8 $wechatObj = new wechatCallbackapiTest(); 9 $wechatObj->valid(); 10 11 class wechatCallbackapiTest 12 { 13 public function valid() 14 {

微信开发第一篇:问题篇

最近几天一直在研究微信相关的开发.虽然没有进入正式Demo的阶段,但经过最近几天不断努力,总算有几点收获,记录下来,以此开始.本篇都以Q&A的方式记录 1.第1阶段,如何将内网的端口进行映射? 花生壳是个不错的选择,但比较麻烦的是,目前没有已经不提供免费的映射了.需要免费的只能每天上午10左右抢. 今天晚上偶然发现,官方有1元活动. 直接付钱,免费的映射终于可以用了,关键可以使用1个80端口的二级域名.地址去百度搜吧.官方就能看到,不然要有做广告的嫌疑了. 按照微信开发者的要求,“必须以http

新浪微博API开放平台进行程序开发第一步(java)

申请开发者权限步骤: 1.登录sina微博,点击“应用” 2.点击“微博开发平台 我也要做开发者” 3.点击“我的应用”,填写“开发者信息” 4.点击“创建应用”,就是你将要开发的微博应用程序,可以是电脑客户端,微博推广,手机客户端等. 没有个人网站接入,也不是进行手机开发,做一个毕设的pc端小程序. 5.获取App Key, App Secret 6.下载SDK,针对不同的开发,有不同语言版本,链接:http://open.weibo.com/wiki/SDK#Python_SDK 就是一个工

微信开发第一篇:问题篇(转)

最近几天一直在研究微信相关的开发.虽然没有进入正式Demo的阶段,但经过最近几天不断努力,总算有几点收获,记录下来,以此开始.本篇都以Q&A的方式记录 1.第1阶段,如何将内网的端口进行映射? 花生壳是个不错的选择,但比较麻烦的是,目前没有已经不提供免费的映射了.需要免费的只能每天上午10左右抢. 今天晚上偶然发现,官方有1元活动. 直接付钱,免费的映射终于可以用了,关键可以使用1个80端口的二级域名.地址去百度搜吧.官方就能看到,不然要有做广告的嫌疑了. 按照微信开发者的要求,“必须以http

python开发第一步

Python开发[第二篇]:初识Python Mr.Seven 博客园 首页 新随笔 联系 订阅 管理 随笔-127  文章-146  评论-393 Python简介 Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承. 最新的TIOBE排行榜,Python赶超PHP占据第五!!! 由上图可见,Python整体呈上升趋势,反映出Pyt