素材牛VIP会员
微信公众平台如何实现本地测试?
 馨***2  分类:Python  人气:909  回帖:8  发布于6年前 收藏

使用Python,flask处理后端。

每次在本地写好代码,push 到github,ssh 到服务器,pull下来代码,运行测试,感觉很不方便,有没有方法什么可以在本地测试的?

可不可以有方法实现在本地直接输入要进行测试的信息,像web开发一样,写好网页在本地运行,输入需要post的请求,看返回结果是否正确。

求大神指导~

讨论这个帖子(8)垃圾回帖将一律封号处理……

Lv5 码农
走***鹿 移动开发工程师 6年前#1

鉴于大部分ADSL都封了80端口,所以想要本地调试,有以下条件:

  1. 公网服务器一台,用于监听来自微信服务器的请求
  2. 支持动态域名和端口转发的路由器

首先注册一个路由器支持的动态域名服务商,将动态域名绑定至路由器,同时在路由器上设置端口转发,比如你的公众平台程序的端口是2222,那就将wan口的2222转发至lan口2222

然后在公网服务器上用nginx监听80端口,解析你的子域名(如weixin.lfzyx.org),然后通过nginx的proxy_pass ,将请求转发至你的动态域名加2222端口。这样就可以通过weixin.lfzyx.org这个子域名调戏你的公众平台了

Lv7 码师
97***84 产品经理 6年前#2

我是使用花生壳在本地建站的。

Lv7 码师
这***人 JS工程师 6年前#3

小宏_Red

有一个开源项目,用于微信公众平台应用的本地化测试,项目地址https://github.com/xred/WeTest 在api地址里填入你的微信项目的请求地址,可以是在服务器上,也可以是localhost上,然后在输入内容里打入要发的内容,上面的框框右半部分会显示返回的内容

Lv6 码匠
ju***23 Web前端工程师 6年前#4

https://natapp.cn
超简单的内网穿透... 微信本地开发实时调试太方便了

Lv6 码匠
这***生 技术总监 6年前#5

又发现一个本地测试,不过没有用,用的是楼上的~https://github.com/ushuz/weixin-simulator

Lv4 码徒
cx***de 页面重构设计 6年前#6

推荐一个微信API的仿真模拟器(Ruby Wechat API Faker),实现了几乎全部的微信API,包括微信消息发送与推送,用户管理,用户分组,微信二维码扫码,微信群发消息等等。

实在是微信公共平台开发调试利器!

软件网址:
https://github.com/xixilive/wecheat.git

Lv3 码奴
霸***空 交互设计师 6年前#7

这个命令行的测试工具应该可以满足你的测试 https://github.com/node-webot/webot-cli

Lv6 码匠
wo***fp CEO 6年前#8

所谓「模拟」,最好是尽可能接近或直接使用线上环境,比较典型的例子是:早期微信如果xml response组织有误,会直接显示出来xml,现在不会了,自己写的模拟器你怎么操作?

我现在的办法楼主可以借鉴一下(适用于开发环境),需要有三个前提:

方法一:

  1. 本地热部署环境(废话,PHP版本> 5.4直接:php -S 0.0.0.0:80 、 Python: python -m SimpleHTTPServer)
  2. 外网IP要有一个(这个如果是ADSL的话,自动IP也没那么快切换,大概几小时或者重启路由一次吧)
  3. 有一个二级测试域名或一级域名

附加:开发环境还是专门申请一个公号为好,特别是大的应用

接下来重点来了:

  1. 微信后台的URL写一个域名地址,例如:http://test.domain.com/index.php
  2. 将此域名绑定至DNSPod (也可以是其他解析)
  3. 直接修改DNSPod的MX纪录,把所有请求解析至本地

这是一个参考办法,楼主可以留意一下。

方法二: 1、在正式环境的nginx(假如是),设置一个proxy_pass到本机

以上两种都是我以前用过的办法,最早时是跟楼主一下,如果是使用github的话,还可以使用hook功能直接pull到服务器,后来用了第一种,修改域名解析的办法来干的。

 文明上网,理性发言!   😉 阿里云幸运券,戳我领取