如何在本地主机上测试打开图


76

我已经做了很多研究,但是还没有找到确切的答案。无论如何,要在localhost上测试开放图吗?我在locahost上使用图形API没有任何问题。

我已经在应用程序设置中更改了我的网站网址,甚至尝试在我的主机文件中设置一个域,但是用于打开图的调试器linter尝试使用实际域而不是我的本地主机,并且当直接使用locahost时,linter完全无法连接。

有人对此有任何解决方法吗?


1
您解决了吗?@DavidB
nikjohn

Answers:


38

使用本地代理是正确的解决方案。ngrok也不适合我

一个类似的工具,做了与Facebook的调试器工作localtunnel

npm install -g localtunnel
lt --port 8000

生成一个类似的网址https://<random_hash>.localtunnel.me/。截至2017年10月18日,在Facebook开放式图形调试器中使用此url对我有用。我只需要点击Fetch new scrape information按钮。🍻

关于localtunnel的很酷的事情是,您可以轻松地在github.com/localtunnel/server上托管您自己的localtunnel服务器,因此,如果它停止运行localtunnel.me,您可以在云中的某个地方运行自己的服务器


2
很棒。在我的情况下,该命令必须为“ lt -p 8000”。
Kohanz

+1。这在ngrok无法使用时对我有用(请参阅此处的ngrok问题:github.com/inconshreveable/ngrok/issues/427)。就我而言,我使用Windows PowerShell作为管理员。
瑞安

我回来了,希望我能再次投票。Windows PowerShell管理员身份甚至适用于Laravel Homestead项目;只是cd到项目文件夹,然后lt --port 8000。控制台中的结果URL对我有用。(试图以管理员身份打开Git Bash并在Homestead Vagrant框中安装npm不适用于我。)
Ryan

3
默认的本地隧道主机此时似乎已关闭,因此可能值得尝试lt -h "http://serverless.social" -p PORT
Sajad Torkamani

28

您可以使用ngrok创建一个随机的公共子域,即使通过NAT或防火墙,该子域也可以很容易地路由到本地Web服务器。

只需下载ngrok并运行./ngrok http 8080(假设8080是您的本地Web服务器的http端口)。

这将创建一个随机子域,如http://38a84a97.ngrok.io/,该子域可路由到您的本地网络服务器,并且可以与Facebook一起使用以测试打开的图形标记。


2
这似乎不起作用。使用了ngrok URL,但在开放图调试器上仍然出现“解析输入URL时出错,未缓存任何数据或未擦除任何数据”。
neverbendeasy

2
您是否尝试单击“获取新的刮擦信息”按钮
Iwazaru 2015年

1
这似乎也不起作用。它只是获取ngrok网址
-nikjohn,

4
它曾经为我工作,但不再适用。
Idk

3
Ngrok无法与fb搜寻器配合使用:github.com/inconshreveable/ngrok/issues/427
Lucian

7

在任何使用ChromeFirefox的本地环境中使用插件测试Open Graph非常简单。我曾经用它在chrome中快速显示了“打开图”对查看器的外观以测试结果。这里是它的报价。

此扩展名显示人们如何在最受欢迎的社交网络中看到您的网站。此扩展名适用于创建媒体内容的专业人员。

要查看您的网站或文章的元信息,只需在Chrome中打开它,然后单击扩展程序的图标即可。您也可以手动添加URL。

这是指向插件(Chrome)Firefox附加组件的直接链接


请不要仅仅发布一些工具或库作为答案。至少要在答案本身中证明它是如何解决问题的。
再见StackExchange,

6
我仍然认为这不应该被否决。毕竟,这是使用stackoverflow的问题,如果您的答案很正确,并且无论如何您都会被否决,那么毫无帮助。
BigEd

请注意:我并未拒绝投票,但是社区通常将指向插件的链接视为垃圾邮件,因为大多数插件作者都会闲逛并留下他们自己的插件,并使网站混乱(如果链接消失,答案将变得无用)。 。
再见StackExchange

2
+1这个插件很棒,可以解决OP的问题。抱歉@FrankerZ,它很容易使用,几乎不需要任何解释!
jessexknight

2

为了测试开放图(和Twitter卡),我还必须将localhost(Docker)暴露给Facebook和Twitter。我使用了Serveo

为此,它非常有效,无需安装任何东西,因为它与ssh端口转发一起工作。

$ ssh -R 80:localhost:3000 serveo.net

然后导航到给定的URL,然后就可以了。


我无法访问该网址。它给了我空白页
Ryuujo

由于网络钓鱼问题,Serveo似乎已下线:/
Josiah Nunemaker

1

您必须设置一个指向您的公共IP地址的公共域。使用dynes.org或类似的服务并设置路由器以转发端口80。


1

我使用一个称为ProxyLocal的免费工具,该工具可让公众访问我的本地服务器。

查看本指南,了解其他代理替代方法http://devblog.avdi.org/2012/04/27/http-forwarding-services-for-local-facebook-development/


Facebook说,proxylocal.com不是一个有效的网址
成龙(Jackie Chan)

即时通讯使用Proxylocal,可用于测试ogtag。调试器:developers.facebook.com/tools/debug/og/object
Julio Marins 2014年

1
链接不可用
Ryuujo



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.