微信开发者工具配置服务器信息,微信开发者中心如何配置

2023-05-16

微信开发者中心配置是怎么样的呢,那么微信开发者中心又是如何配置的呢?下面是学习啦小编收集整理的微信开发者中心如何配置,希望对大家有帮助~~

微信开发者中心配置的方法

工具/原料

一台电脑和一个微信公众号

需要再SEA上部署环境

方法/步骤

从微信公众平台打开`开发者服务中心`连接,https://mp.weixin.qq.com第一次打开时会提示用户注册成为开发者,接受协议,成为开发者.

f18de788f184f4b1f525d1a16957ba0b.png

接受协议以后会出现配置选项.平台为我们生成了`AppID`,`AppSecret`这些字段.我们需要点击`修改配置`对`服务器配置`区块进行配置.在此期间,可能会出现信息不全,需要补齐信息的提示,这时候去上传一个公众号的头像就OK了.`URL(服务器地址)`指的是我们公众号的服务的地址,也就是我们之前申请好的SAE的服务域名,如果忘记可以去sAE控台查看,我这里的是 http://weixinshow001.sinaapp.com`Token(令牌)`相当于微信服务器和我们自己的服务器之间交流的一个约定,用于确定我们的服务器接收到的消息确实是微信的服务器发出的.我这里填写为weixin.`EncodingAESKey(消息加解密密钥)`信息加密密钥.随机生成就可以了.填写完成后点击提交.这时候会提示`token`验证失败.

3631d50ad4c9bbdfbe0966b3f2d6305b.png

e1d4910e2499a8c23336964b37ac83f5.png

token验证失败的原因是,我们在SAE上还未对token进行验证.我们在`微信公众号`的接入指南http://mp.weixin.qq.com/wiki/17/ ... 70a95559800f2d.html中可以看到token的验证方式,并且提供了验证的示例代码.

开发者提交信息后,微信服务器将发送GET请求到填写的服务器地址URL上,GET请求携带四个参数:参数 描述signature 微信加密签名,signature结合了开发者填写的token参数和请求中的timestamp参数、nonce参数。timestamp 时间戳nonce 随机数echostr 随机字符串开发者通过检验signature对请求进行校验(下面有校验方式)。若确认此次GET请求来自微信服务器,请原样返回echostr参数内容,则接入生效,成为开发者成功,否则接入失败。加密/校验流程如下:1. 将token、timestamp、nonce三个参数进行字典序排序2. 将三个参数字符串拼接成一个字符串进行sha1加密3. 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信

现在我们需要编写SAE主页的代码,实现token的验证功能.打开利用SVN抓取到本地的代码,找到`index.php`文件,并使用文本编辑器打开,在文本编辑器中输入如下代码:

define("TOKEN","weixin");

function checkSignature()

{

//从GET参数中读取三个字段的值

$signature = $_GET["signature"];

$timestamp = $_GET["timestamp"];

$nonce = $_GET["nonce"];

//读取预定义的TOKEN

$token = TOKEN;

//对数组进行排序

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

sort($tmpArr, SORT_STRING);

//对三个字段进行sha1运算

$tmpStr = implode( $tmpArr );

$tmpStr = sha1( $tmpStr );

//判断我方计算的结果是否和微信端计算的结果相符

//这样利用只有微信端和我方了解的token作对比,验证访问是否来自微信官方.

if( $tmpStr == $signature ){

return true;

}else{

return false;

}

}

if(checkSignature()){

echo $_GET["echostr"];

}

else{

echo 'error';

}

复制代码

要注意,保存后只是储存在本地了,并没有在SAE的服务器上起作用,我们需要用svn提交代码到svn仓库,相应的更改才能生效!用svn提交代码到svn仓库,相应的更改才能生效!用svn提交代码到svn仓库,相应的更改才能生效!(重要的事情说三遍).最近有朋友指出,这个验证不通过.可能是由于用户没有通过SAE的实名认证,当用户没有通过实名认证时,SAE会在返回的消息里加上一些小尾巴,这样导致了返回给微信服务器的字符串不能匹配,出现了验证不通过的问题.

重新提交微信配置信息,这时候我们的提交会显示成功.然后点击`启用`按钮,微信公众号的处理将全部转由我们的SAE服务器处理.ps:a. SAE可以看到访问日志,在`应用控台`的`日志中心`标签下,我们能看到每次访问的数据,这对于我们调试配置不通过出现的错误有一定的用处.b. 在日志中心我们可以看到微信服务器访问的url参数,我们可以直接使用浏览器来直接GET这个url以便在页面中输出我们需要的调试数据.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

微信开发者工具配置服务器信息,微信开发者中心如何配置 的相关文章

  • 如何用Go访问深层嵌套的JSON数据?

    原文来自https hashnode com post how 大多数情况下 xff0c 开发人员需要使用来自其他服务的JSON数据并对其进行查询 查询JSON文档非常耗时 在过去的几天里 xff0c 我正在为Golang编写一个包 xff
  • Identity Card

    Identity Card Time Limit 2000 1000 MS Java Others Memory Limit 32768 32768 K Java Others Total Submission s 995 Accepted
  • 华为S5700交换机开启WEB配置

    近来很多朋友问关于S5700开启WEB不成功的问题 xff0c 现整理出具体步骤和命令 提示 xff1a 华为交换机配置时 xff0c 输入命令前几个字母 xff0c 按TAB可以自动补全命令 xff0c 比如在系统视图下输入sh按下TAB
  • 托管堆上对象的大小(Size)和Layout

    前几天 xff0c 我介绍了托管环境下struct实例的Layout和Size xff0c 其中介绍了StructLayoutAttribute特性 xff0c 其实StructLayoutAttribute特性不只可以用在struct上
  • 网上十大黑客软件大曝光

    网上十大黑客软件大曝光 Internet网上的黑客网站多如牛毛 xff0c 黑客软件也越来越多 越来越黑 笔者现将这些黑客软件分门别类地曝一曝光 xff0c 并提出相应的解决方案 xff0c 以防患于未然 一 古老的WinNuke 平台 x
  • C# DataSet和DataTable详解[转]

    1 创建DataSet对象 xff1a DataSet ds 61 new DataSet 34 DataSetName 34 2 查看调用SqlDataAdapter Fill创建的结构 da Fill ds 34 Orders 34 D
  • 【Python】爬取网站图片

    import requests import bs4 import urllib request import urllib import os hdr 61 39 User Agent 39 39 Mozilla 5 0 X11 Linu
  • 纯C++实现的HTTP请求(POST/GET)

    纯C 43 43 实现的HTTP请求 xff08 POST GET xff09 xff0c 支持windows和linux xff0c 进行简单的封装 xff0c 方便调用 实现如下 xff1a include 34 HttpConnect
  • python subprocess执行shell命令

    2019独角兽企业重金招聘Python工程师标准 gt gt gt subprocess的目的就是启动一个新的进程并且与之通信 subprocess模块中只定义了一个类 Popen 可以使用Popen来创建进程 xff0c 并与进程进行复杂
  • HDTV片源

    微软的 点击进入 苹果 quicktime下载 点击进入 国内一个网站 不过收费 电击进入 还有思路 转载于 https blog 51cto com wangjian 1420
  • Onvif鉴权实现方式

    Onvif鉴权实现方式 Digest 61 B64ENCODE SHA1 B64DECODE Nonce 43 Date 43 Password gsoap中digest生成代码 xff1a int soap wsse add Userna
  • 一文搞定Java并发编程面试考点

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 1 在java中守护线程和本地线程区别 xff1f java中的线程分为两种 xff1a 守护线程 xff08 Daemon xff09 和用户线程 xff08 User
  • 数据结构c语言版创建链表实验报告,C语言数据结构-创建链表的四种方法

    结点类型 xff1a typedef int datatype typedef struct NODE datatype data struct NODE next Node LinkList 1 不带头结点的头插入法创建链表 每创建一个结
  • syslog-ng

    syslog ng配置 March 13th 2012 绚丽也尘埃 Leave a comment Go to comments syslog ng的配置非常简单直观 xff0c 于是乎配置好看看怎么用它实时收集日志 有两台服务器 xff0
  • CMAKE总结(1) .lib .dll .a .so libx.dll libx.dll.a

    2019独角兽企业重金招聘Python工程师标准 gt gt gt win 对应 linux lib a dll 注 so 注 xff1a win中若使用 dll需要一个附带的引入库 lib win gcc中若使用 dll需要一个附带的因入
  • curl命令详解

    cURL 1 手册页 名称 cURL transfer a URL 摘要 cURL 选项 URL 描述 cURL 是一个向服务器或从服务器传输数据的工具 xff0c 它支持HTTP HTTPS FTP FTPS SCP SFTP TFTP
  • curl命令常见用法汇总 good

    curl是一种命令行工具 xff0c 作用是发出网络请求 xff0c 然后得到和提取数据 xff0c 显示在 34 标准输出 34 xff08 stdout xff09 上面 curl是一个强大的命令行工具 xff0c 它可以通过网络将信息
  • Linux编程之select

    select系统调用的的用途是 xff1a 在一段指定的时间内 xff0c 监听用户感兴趣的文件描述符上可读 可写和异常等事件 select 机制的优势 为什么会出现select模型 xff1f 先看一下下面的这句代码 xff1a int
  • DIGEST认证

    为了弥补BASIC认证存在的弱点 xff0c 从HTTP 1 1起就有了DIGEST认证 DIGEST认证同样使用质询 响应的方式 xff08 challenge response xff09 但不会像BASIC认证那样直接发送明文密码 所
  • Linux下搭建一个简单的UDP通信

    基础知识 UDP和TCP的区别 xff1a 1 TCP是面向连接的 xff0c 而UDP是非面向连接的 xff0c 因此TCP更可靠 2 UDP的server端的socket不需要监听 3 二者的server端都需要绑定 代码实现 xff1

随机推荐