Artstation 链接预览缺失

各位,这是我第一次发帖。
我经常访问一个基于 Discourse 的论坛(从页面源代码来看,它似乎是 3.2.0.beta1-dev,我不知道当前最新版本是什么),我很失望地发现 Artstation 链接没有预览。Artstation 页面似乎拥有所有必要的元标签,Discord 和 Facebook 都可以为它们生成预览,但 Discourse 不行。
https://www.artstation.com/artwork/xDol3X
这是我在上述链接的预览窗格中看到的内容:

1 个赞

好的,Instagram apparently 也没有预览:
https://www.instagram.com/p/CYg_FLqox8c/
与 Artstation 链接不同,这个链接在预览窗格中甚至没有任何详细信息……但是有必要的 og:* 元标签,所以没有理由不工作。

这看起来不像是一个 bug。如果你仔细阅读错误信息,你会发现网站正在拒绝你的(服务器)访问。你可以试试我的 onebox 助手插件,看看是否有帮助。

1 个赞

此截图来自本论坛。它可能适用于所有 Discourse 论坛。

有趣的是,在本论坛上,Twitter 帖子预览:

而在我来自的论坛上则没有。不知道这是怎么回事。

所以它也拒绝了 Meta。

是的,但为什么呢?Onebox 元数据是在服务器端加载的,而不是在客户端加载的吗?

是的,它是服务器端加载的。

顺便说一句,我刚用 onebox 助手试了一下,它没什么帮助。

检查代理服务,它们也被拒绝了:

所以就连代理电话方面的专家也无法绕过它们!

好的。关于这个问题还有什么可以做的?阻止这个似乎有点奇怪——如果你无法访问你网站上的 meta 标签来显示预览,那么设置它们有什么意义呢?

会不会是请求头导致了这个问题?虽然看起来不太可能,因为我尝试用 Postman 发送请求,结果却正常。

  1. 直接联系他们询问。
  2. 联系代理服务,看看他们是否能绕过它,然后使用该代理服务。

我已经给 embed.rocks 发送了电子邮件,用于第 2 点。

联系谁?Artstation、Instagram 和 Twitter? :smiley:
我绝不可能得到有意义的回复。
这很可能不是他们造成的。

绕过这些限制需要丰富的经验和专业知识,而我没有时间去学习信息技术中的这一细分领域,因此您需要依靠那些整天都在做这件事的人:即代理服务。

如果我收到 Embed.rocks 的回复,我会通知您,然后您就可以使用我的插件了。

有些网站强制要求您使用带有密钥的注册嵌入。

在生成 onebox 时,您可以检查发送了哪些标头?

抱歉,没时间再处理这件事了。如果收到 embed.rocks 的回复,我会在此更新。

1 个赞

顺便说一句,对于 Twitter,您需要启用富媒体嵌入:

这几乎肯定在这里设置好了。

可能有可能为 Artstation 找到类似的解决方案,但您可能需要自己构建它。

2 个赞

糟糕!每月仅需 100 美元!发现性方面真是大打折扣。太可惜了。

1 个赞

是啊,价格太离谱了,我不知道他们是怎么想的!

1 个赞

看看这个:

1 个赞

太棒了!虽然 JavaScript 还有一些可以改进的地方。我想我可能会提交一个 PR,并且可能也会为我感兴趣的其他域做同样的事情。

1 个赞

请保留这部分:

是的,理想情况下,它应该真正使用 async loadScript(它返回一个 promise),这样其余代码在脚本保证加载之前就不会运行。

2 个赞