顶 在局域网中部署微信服务器

2019-03-02 00:06|来源: 网路

文章同时发表在我的博客:wwj718.github.io
欢迎关注我的github

缘起

我想这个解决方案对许多在校生是十分有用的。

喜欢折腾新技术的大多是我们这些在校学生。所以把这个方案分享给大家。

对于我们,ip都是校内网的。也就是说它是局域网。

而微信开发模式中服务器配置要求填写公网ip,并且只允许80端口

解决方案有两种:

1 买个vps或使用公有云(bae,sae神马的)

vps太贵,bae,sae神马的调试很不方便。我采用了方案2

2 穿透内网。首先想到的是花生壳,用于穿透内网,原理上是可行的,不过linux下使用极其麻烦
某天闲逛github的时候,发现这个东东ngrok (伟大的github!!),它是跨平台的!!

方案2最大的最大好处是你完全用你最熟悉的环境来开发!!

如何使用

使用方法极其简单。
首先到官网里下载. 它是免安装的。
解压之后,进入目录,在终端里执行./ngrok [端口号].
该指令的意思是把[端口号]映射到外网。
之后终端里会有一个ngrok给你分配的地址,这样就映射成功了!

开始部署

首先在本地搭起微信后台(我使用WeRoBot这个框架)

  • cd /tmp/
  • pip install werobot
  • 新建weixin.py如下:
import werobot

robot = werobot.WeRoBot(token='tokenhere') #填写你的token

@robot.handler
def echo(message):
    return 'Hello World!'

robot.run()
  • python weixin.py

好的,命令行提示我们在127.0.0.1:8888启动了服务

接着我们只要把它映射到外网就行
回到ngrok解压目录下,执行./ngrok 8888
我们将在命令行里看到一个分配的地址,把它粘帖到微信服务器配置
这时候就可以调戏你的微信公众号啦。
bingo~看到了吧,可爱又迷人的“hello world”出现了。
是的 ,就是这么简单,接下来的事就是发挥你的想像力的时间啦。

Enjoying it.

文章同时发表在我的博客:wwj718.github.io
欢迎关注我的github


转自:http://my.oschina.net/u/818204/blog/223005

相关问答

更多
  • 我也有同样的问题! Linux和Windows的互相访问,同一个局域网里有7台机子可是不是都能互相访问! 港才2号机(Windows xp)还能访问Linux呢,可是我在Linux上扩大了来宾权限后,在2号机上就不能访问Linux了。说是权限不够! 可能是版本的问题,我的Linux上没有网上邻居!
  • 可以使用nginx部署在80端口,IIS和apache随便什么机器和端口都可以。 配置一下nginx,做反向代理就可以了。很好玩的。呵呵
  • Helix server 11 for Windows无限用户服务器版 架设流媒体服务器的好软 Helix.Producer.Plus.破解汉化v9.0.rar
  • 局域网中的电脑做外网服务器?是通过公网ip端口转发到电脑吗?如果是这样你看看你webservice的端口被转发了吗?遇到这里最多的问题是防火墙问题,最可能的就是防火墙拦截屏蔽了!
  • 自上而下意味着您从WSDL开始,然后在Java中创建所有必要的脚手架。 自下而上意味着您从Java方法开始,并从中生成WSDL。 SOAP意味着URL对于所有调用是相同的,并且只有Java方法的参数不同。 REST意味着URL加上HTTP方法调用它反映了要完成的操作。 Top-down means you start with a WSDL and then create all the necessary scaffolding in Java all the way down. Bottom-up me ...
  • 在自上而下的解析器中,解析器以开始符号开头,并尝试猜测要应用哪些产品来到达输入字符串。 要做到这一点,自上而下的解析器需要使用输入字符串中的上下文线索来指导其猜测。 大多数自上而下的解析器是方向解析器,它在尝试确定要猜测的产品时,在某个方向(通常是从左到右)扫描输入。 LL(k)解析器系列就是其中的一个示例 - 这些解析器使用有关输入的下一个k符号的信息来确定要使用哪些产品。 通常,解析器使用接下来的几个输入标记来猜测产品,通过查看哪些产品最终会导致以即将到来的标记开始的字符串。 例如,如果您有生产 A→b ...
  • 所有你需要注意的是z-index 。其他任何东西都可以正常工作。 请看这里寻求帮助 并点击此处获取更多信息。 兼容性问题在这里有所帮助 All you have to watch out for is z-index.Everything else will work fine. See here for help and click here for more info. compatibilty issue help here
  • 只需使用css: #Page { position: relative; top: 0; opacity: 1; transition: all 0.3s ease-in; -webkit-transition: all 0.3s ease-in; } .hidden-element { position: relative; top: -100px; opacity: 0; transition: all 0.3s ease-out ...
  • 你不能。 无论如何,你为什么要这样做? 它对于在iOS上导航表单非常有用。 You can't. Why would you want to do that anyway? It is very useful for navigating forms on iOS.
  • 你必须覆盖onNewIntent并在那里获得额外的东西。 You have to override onNewIntent and get the extra there. @Override protected void onNewIntent(Intent intent) { super.onNewIntent(intent); int number = intent.getIntExtra("number", -1); } 在你的广播接收器中 Intent I = ne ...