如何本地如何调试微信支付接口接口

9688人阅读
& & & & 调试微信接口,例如调试微信消息收发接口,我们需要提供一个公网访问url,正常情况下,我们需要建立web工程,然后打包,不部署服务器,提供服务器外网访问url。但是想要将自己本地电脑上运行的项目发布到公网,让所有人都可以访问,显然是很麻烦的一件事情。这里介绍三种方式,将本地运行代码发布到互联网,提供映射域名,实现本地调试微信接口:
& & & & 1、使用ngrok:详见http://blog.csdn.net/liuxiyangyang/article/details/
& & & & 首先,下载ngrok,然后填写注册信息,得到授权码token。(由于ngrok每次映射的公网域名都是随机的,这样每次重启都会发生变化,给本地调试造成麻烦,所以需要这个授权码,使我们的域名固定)
第二步:打开cmd窗口,进入ngrok目录,输入ngrok 80,就可以得到本机127.0.0.1:80已经随机分配一个公网域名。
此时就需要我们的授权码,打开我们的cmd,进入到ngrok目录,输入ngrok -authtoken ... 80(此处的省略号为我们得到的授权码token):
输入ngrok -subdomain testngrok 80 可以将域名换成简单便于记忆的域名:
此时的映射域名为 http://testngrok.
2、花生壳,详见/freeliver54/p/3725599.html
首先,下载
第二步:登录后,马上就可以看到花生壳帮我们分配的免费2级域名了,我的是:walkingman123.vicp.cc。
第三步:点击红圈处的图标进行域名诊断,结果出现“成功”字样则表示域名映射成功了。
3、nat123,详见/wenda/detail/241318
& & &&值得注意的一点是,nat123虽然提供免费的域名,但是使用nat123的免费域名虽然在浏览器上能正常访问,但是在微信里就会提示,该域名被举报,而不能正常访问。所以最好还是自己准备个域名,随便到百度一搜,都能搜到好多出售域名的网站。捡个便宜的注册下来就行了。
首先,下载nat123,注册账号:
第二步:配置内网端口跟内网域名。建议这边修改后便不用经常去修改配置,因为这里修改需要n币(1块钱好像是100个),所以不大建议这里更改内网端口。
& &&&请注意下面的提示,使用自己的域名时,域名的dns或ns必须设置为:dns1.dns123.net/dns3.dns123.net
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:290683次
积分:2077
积分:2077
排名:第19485名
原创:20篇
转载:37篇
评论:33条
(1)(2)(1)(2)(1)(1)(1)(1)(1)(15)(2)(2)(4)(4)(1)(4)(1)(1)(1)(5)(2)(3)(1)
(window.slotbydup = window.slotbydup || []).push({
id: '4740881',
container: s,
size: '200,200',
display: 'inlay-fix'前言:最近因为某些原因,要进行微信公众号开发,因此开始学习微信公众号开发的相关知识。本篇博文主要是介绍一下本人学习过程中如何进行“本地调试微信端口”?
一、准备资源:
自己的微信公众号:可以在该网址注册申请&
ngrok.exe 和 ngrok.cfg:该资源可以在该网址下载&
二、本地调试微信端口:
按下 win + R 组合键,输入 cmd(或者 powershell),进去 shell 窗口将路径切换至自己 ngrok.exe 的存放路径:
输入命令 ngrok -config ngrok.cfg -subdomain 任取名 Tomcat端口号,然后执行:如&ngrok -config ngrok.cfg -subdomain johnnie 80
注:若是在 powershell 中输入命令则应该如下:
执行效果:
在浏览器上输入 &可以看到如下显示:
三、测试:
目前,基本的配置以及准备完毕。我们随意编写一个程序测试下,看是否能够通过外网来代替localhost来访问Web项目。
1. 新建一个 JavaWeb 项目:Weixin
2. 在 WebContent 下编辑一个 index.html&文件,代码随意
&span style=&font-size:18&&&!DOCTYPE html&
&meta charset=&UTF-8&&
&title&Insert title here&/title&
This is index.html
&/html&&/span&
3. 部署到 Tomcat 服务器上,运行该项目,在地址栏上输入&&,显示如下:
4. 用我们刚刚的外网地址 http://johnnie.tunnel.mobi 替换掉 http://localhost,显示如下:
而且可以看到&&下的显示改变了:
还有 cmd 下的显示也改变了:
出现上面的情况就说明我们的基本环境已经&ok 了,Congratulation!!!
5. 编写 Servlet:
WeixinServlet.java:
package com.johnnie.weixin.
import java.io.IOE
import java.io.PrintW
import javax.servlet.ServletE
import javax.servlet.annotation.WebS
import javax.servlet.http.HttpS
import javax.servlet.http.HttpServletR
import javax.servlet.http.HttpServletR
import com.johnnie.weixin.utils.CheckU
@WebServlet(&/WeixinServlet&)
public class WeixinServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public WeixinServlet() {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response);
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String signature = request.getParameter(&signature&); // 微信加密签名
String timestamp = request.getParameter(&timestamp&); // 时间戳
String nonce = request.getParameter(&nonce&);
String echostr = request.getParameter(&echostr&);
// 随机字符串
PrintWriter out = response.getWriter();
if(CheckUtils.checkSignature(signature, timestamp, nonce)){
System.out.println(&验证成功...&);
out.print(echostr);
CheckUtils.java:
package com.johnnie.weixin.
import java.security.MessageD
import java.util.A
* 校验工具类
* @author johnnie
public class CheckUtils {
private CheckUtils(){}
private static final String TOKEN = &TOKEN&;
public static boolean checkSignature(String signature, String timestamp, String nonce){
String[] arr = new String[]{TOKEN, timestamp, nonce};
// 1. 排序
Arrays.sort(arr);
// 2. 生成字符串
StringBuffer buff = new StringBuffer();
for(int i = 0; i & arr. i ++){
buff.append(arr[i]);
String content = buff.toString();
// 3. sha1 加密
String temp = getSha1(content);
System.err.println(&temp---&& + temp);
System.out.println(&signature---&& + signature);
return temp.equals(signature);
// 将通过 sha1 加密后生成的字符串与微信传递过来的签名相比较
* sha1 加密
* @param str
public static String getSha1(String str){
if (str == null || str.length() == 0){
char[] hexDigits = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
'a', 'b', 'c', 'd', 'e', 'f'};
MessageDigest mdTemp = MessageDigest.getInstance(&SHA1&);
mdTemp.update(str.getBytes(&UTF-8&));
byte[] md = mdTemp.digest();
int j = md.
char[] buf = new char[j * 2];
int k = 0;
for (int i = 0; i & i++) {
byte byte0 = md[i];
buf[k++] = hexDigits[byte0 &&& 4 & 0xf];
buf[k++] = hexDigits[byte0 & 0xf];
return new String(buf);
} catch (Exception e) {
e.printStackTrace();
6. 进入自己的微信公众平台:,进入开发者中---&服务器配置---&修改配置,将相关信息输入,如下:
点击提交,若提交成功则显示如下:
这也就说明我们的开发环境和微信端已经连接成功,本地调试环境搭配完毕,Congratulation!!!
四、配置过程中的错误已经解决方法:
1.&Server failed to allocate tunnel: The tunnel http://example.tunnel.mobi is already registered.
问题解决:将 example 名字换成自己任取的名字即可,如上面就是改为 johnnie
2.&Unable to initiate connection to 127.0.0.1:8080. A web server must be running on port 127.0.0.1:8080 to complete the tunnel.
错误原因:端口号不正确,端口号必须是自己电脑上 Tomcat 服务器所配置的链接端口(因为我将Tomcat的端口改为80了,所以此处输入的8080就报错)
问题解决:将命令改为 ngrok -config ngrok.cfg -subdomain johnnie 80 即可
本文已收录于以下专栏:
相关文章推荐
如何在本地进行微信公众号的开发和调试
最近开始微信公众平台的捣鼓,但相信和很多新手一样,遇到的第一件事就是如何配置url,主要是微信的80端口的蛋疼限制,我想这其中的流程应该是这样的。我们在申请测试帐号时,微信需要指定一个URL和TOKE...
使用ngrok让微信公众平台通过80端口访问
首先声明我是用java-tomcat来整那个微信公众平台的。
微信公众平台要成为开发者,需要填写接口配置信息中的“URL”和“Token”这两项(参见...
1、由于公司的微信公众号已经在阿里云上运营,如果有任何bug不可能去停掉服务器去调试,这就需要在本地搭建测试环境了。
2、公众号开发涉及到微信的回调,所以你本地搭建的服务器需要外网能够访问,这个时候就...
微信服务号现在真的很强大,里面有各种各样的服务和功能。现在的移动端应用,可以说,微信已经超过了APP。对于微信开发而言,它和普通的web项目其实并没什么区别。微信项目也是web项目的一种,只不过它是在...
打开网址: http://www.tunnel.mobi/
在myeclipse运行tomcat时 ,记得tomcat端口和设置ngrok配置是端口要一致。。。
http://www.tunnel.mobi/
可以将本地的服务,发布到公网上去,或者说是穿透,外网能够访问局域网内服务。用来调试微信公众号开发。
例如 ngrok -config ngrok...
//selfhost-ngrok-service/
在国内开发微信公众号、企业号以及做前端开发的朋友想必对ngro...
在国内开发微信公众号、企业号以及做前端开发的朋友想必对ngrok都不陌生吧,就目前来看,ngrok可是最佳的在内网调试微信服务的tunnel工
具。记得今年春节前,提供的服务还一...
由于要接入微信公众号,查看了官网上的接入文档,必需是80端口而且微信服务器需要验证token,那我本地开发不可能每次都把源码上传到服务器上吧,而且也不方便,这就需要能内网穿透的工具,能让外网通过外网域...
他的最新文章
讲师:王哲涵
讲师:韦玮
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)视频太卡?试试切换线路
本课时讲解微信 web 开发者工具的产生背景、所解决的问题以及使用的场景。
本课时介绍微信 web 开发者工具使用前所需要做的工作,包括绑定微信开发者帐号,扫描登录开发者工具等,完成这些才可以正常的使用 web 开发者工具。
本课时讲解如何利用微信 web 开发者工具调取网页授权接口,如何获取用户 openid 等相关信息。
本课时讲解如何利用微信 web 开发者工具调取 JSSDK 接口,并通过微信 web 开发者工具完成分享到朋友圈和分享给朋友的实例以及简单讲解微信 web 开发者工具的其他功能。
只有成为VIP会员才能提问&回复,快吧!如果你还没有账号你可以一个账号。
添加新技术问题
课程 [微信 web 开发者工具调试微信网页授权接口实例]
中已存在问题
添加新技术问题
问题描述越详细,被解答的速度越快
有新回答时请邮件提醒我
着急,拜托快点
不急,慢慢解决
关联课程 [微信 web 开发者工具调试微信网页授权接口实例]}

我要回帖

更多关于 微信接口调试工具使用 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信