为什么Facebook Debugger和Facebook的sharer.php URL会针对同一个网址显示不同的内容?

时间:2018-02-07 17:17:59

标签: facebook facebook-graph-api

如果您转到Facebook Debugger并输入此确切的网址并对其进行调试,则可以完全删除所有内容,即获取图片,获取该日期的特定信息(关于歌曲和移动)等那就好了。

https://www.whenwasiconceived.com/results?month=01&day=1&year=1977

但是,如果您转到that actual page并单击底部的Facebook共享图标,则不会在共享者框中显示相同的信息。为什么它不会显示Facebook调试器为完全相同的URL显示的相同特定信息?仅供参考,它使用标准的facebook sharer URL:

https://www.facebook.com/sharer/sharer.php?u=https://www.whenwasiconceived.com/results?month=01&day=1&year=1977

似乎很奇怪Facebook的共享者URL和Facebook的调试器正在为同一个URL显示不同的内容。我一定错过了什么?

1 个答案:

答案 0 :(得分:1)

您正在共享一个与您认为不同的URL - 因为您忽略了对参数值进行正确的URL编码。

sharer.php?u=https://www.whenwasiconceived.com/results?month=01&day=1&year=1977
                               value of parameter u ends here ^

您发送https://www.whenwasiconceived.com/results?month=01作为要共享的网址,然后发送一些名为dayyear的其他参数,分享者不关心这些参数,因此忽略。

u=https%3A%2F%2Fwww.whenwasiconceived.com%2Fresults%3Fmonth%3D01%26day%3D1%26year%3D1977

是要传递给sharer.php脚本的实际正确编码参数。