关于微信自动回复的进一步解析与拓展

上篇文章完成了微信自动回复的整个流程,但其中可以发现一些比较棘手的问题。例如:要进行自动回复,我们就需要断开主站对80端口的监听,这样一来,总是有种本末倒置的感觉。那么80端口如何供微信和主站同时使用?

查了一些资料,内网穿透似乎可以解决此类问题。内网穿透可以实现外网与内网的端口映射,即我们可以使用一个二级域名的80端口,映射到我们主机内网的非80端口。这样一来,微信可以通过访问二级域名的80端口,间接访问到我们内网的资源。

内网穿透工具

找到解决方案后,需要做的就是先找到提供网络穿透的服务商。我一共尝试了3个,分别是nat123、Sunny-ngork以及正在用的花生壳。

先说一下nat123和ngork。这两个工具完全可以实现内网穿透,但缺点似乎有些致命。nat123好像使用的是美国的服务器,ngork的免费服务器是香港的,网络延时非常高,具体表现为:1.在微信开发配置页面,我们填写好配置点击提交时,出现访问URL超时的异常。2.成功配置后,通过公众号向服务器发送关键字,微信自动回复速度过慢(3-5秒)。当然,ngork提供了广州的服务器,但收费10R/M。但我始终保持一个理念—-此功能仅为测试,白嫖天下第一(滑稽)。

以上两个我都在主机上进行过测试,如何操作各个官网均有教程,这里不再赘述。排除了两个,我继续找服务器在国内并且免费的服务商,最后,我发现了目前在用的花生壳。

首先先下载与你主机系统对应的安装包,远程拷贝到主机并安装。

我的主机是基于Linux的Ubuntu,按照帮助文档,安装并启动花生壳工具。安装完成后,主机控制台会打印出一个SN码和一个默认密码,复制下来,进入远程管理地址: b.oray.com ,输入SN和密码登录并完善信息,便可以拿到一个免费的域名,这个域名就是我们的外网地址。

进入主页面后,点击内网穿透,选择免费版本即可。免费版提供了2个映射和1GB流量,完全足够使用了。购买完成后,我们在内网穿透右侧附页点击加号,就可以添加内外网的映射啦!

以上信息填写完后,点击提交,花生壳提示操作成功,就配置完成了。后面我们只需要通过访问免费域名,就可以访问到主机上你填写的对应端口了。

回到主机控制台,使用命令:python3 test.py (上方填写的端口号)。启动上篇编写的python程序,然后打开微信公众号后台,URL填写外网域名,其他保持不变,点击提交就完成了。这样一来,当微信服务器收到请求时,会像我们填写的URL发送请求,发送的请求会被映射到内网对应的端口上,这样一来,微信依然可以使用80端口,但占用的实际上时我们内网的其他端口了。就实现了微信自动回复与主站的共存啦。并且此时的响应速度几乎是没有延时,非常好用。

问题:花生壳似乎不支持自定义域名,即我们无法使用自己的二级域名,只能使用花生壳给我们的免费域名,但至少响应速度快多了。

另外,如果想让python程序后台运行,我们只需要把启动python程序的命令替换为

nohup python3 -u test.py (上方填写的端口号) >out.log 2>&1 &

就可以啦。

发表评论

关闭菜单