【问题标题】:How to identify if a page request is for a preview如何识别页面请求是否用于预览
【发布时间】:2018-11-04 23:33:56
【问题描述】:

当我将我的网站链接粘贴到社交网络(例如 Facebook 或 Twitter)时,社交网络会访问我的网站以向用户显示预览。

我想在我的报告中将此访问权限与实际访问权限分开,但要做到这一点,我需要确定这种情况。

这种访问会发送任何类型的默认信息,我可以识别出这种访问不是真正的用户,而是机器人?

【问题讨论】:

    标签: http web


    【解决方案1】:

    您应该能够从它们的用户代理字符串中识别这些机器人。 例如,Twitter 使用 User-Agent of Twitterbot。并且 Facebook 爬虫识别记录在 here

    【讨论】:

      【解决方案2】:

      您可以使用User-Agent 来执行此操作。

      if (strpos($_SERVER["HTTP_USER_AGENT"], "Twitterbot") !== false)
         echo "TwitterBot";
      else if (strpos($_SERVER["HTTP_USER_AGENT"], "facebookexternalhit") !== false)
         echo "Facebook";
      else
         echo "regular user";
      

      https://developers.facebook.com/docs/sharing/webmasters/crawler

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-07
      • 2010-11-02
      • 2015-11-26
      • 2012-12-09
      • 1970-01-01
      • 2014-11-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多