为了向我的应用发布实时更新,Facebook需要向我的服务器执行发布请求。
问题是,我的服务器是我的家用电脑,不能从互联网上公开寻址。把服务器带到实现这个听起来可能是一个痛苦...无法附加调试器,提琴手等......
那么测试Http端点的最佳方法是什么?模拟Facebook服务器的集成测试?摆弄防火墙/ NAT试图让Facebook与家用电脑对话?
有什么想法吗?
答案 0 :(得分:6)
您可以使用ngrok - https://ngrok.com/ - 免费(尽可能付费)服务,完全满足您的需求。 Localtunnel服务已关闭,开发人员也推荐使用ngrok。
答案 1 :(得分:4)
过去,我使用LocalTunnel来做到这一点。它是SSH隧道的一个很好的包装器,它有效地为localtunnel.com指定了一个指向本地主机端口的子域。
所以基本上,当你运行它时,它会吐出一个外部可访问的子域名,如xyz.localtunnel.com,它的端口80将指向你在本地盒子上指定的端口。
您可以在http://progrium.com/localtunnel/
找到它测试各种pubsubhubbub订阅源(比如Facebook)非常棒。
答案 2 :(得分:2)
OK!我认为NAT应该是最好的选择,我不认为它不起作用的原因。你应该尝试一下。
答案 3 :(得分:2)
实际上非常简单 - 登录到我的家庭路由器,在端口80上设置端口转发到我的计算机的本地IP,在Windows防火墙中为端口80设置一个例外。然后导航到我的公共IP地址浏览器。
处实施接收器样本答案 4 :(得分:0)
唯一的答案是获取一个可公开访问的网络服务器,以便能够回拨给实时更新。
有许多免费的虚拟主机允许服务器端脚本。而且还有很多付费的虚拟主机。 Stackoverflow真的不是获取网站托管的地点/时间/原因/方式的线索的地方。
答案 5 :(得分:0)
不,你不能只使用ngrok模拟facebook实时更新,因为你必须用你的ngrok地址打电话给facebook服务器来验证它(告诉我你是否知道如何做到这一点:p)。 我使用openshift服务器接收facebook实时,然后将从facebook收到的evry json数据发布到我的ngrok地址。所以这个过程是
如果你必须在本地网站上收到facebook通知(例如www.website.dev/fb-notifications/),那么在你的localhost文件夹中创建一个接收openshift帖子的脚本(让我们称之为tunelscript.php)。这个过程将是
那是Tuneling B - )