【问题标题】:unable to extract any facebook page images using php无法使用 php 提取任何 facebook 页面图像
【发布时间】:2013-11-27 02:51:24
【问题描述】:

我正在我的网站(如 facebook)中实现链接共享功能。当用户输入一个 url 时,它要么找到 og:image 标签,要么使用某种算法为页面找到合适的图像。我还提取了标题和描述。 我通过使用get_file_contents() 获取文件内容然后提取内容来做到这一点。它适用于除 fb 页面之外的所有页面。 facebook 不允许我使用get_file_contents()

我可以为 Facebook 做到这一点吗?

【问题讨论】:

标签: php facebook


【解决方案1】:

这违反了 Facebook 条款。但这是您问题的答案,facebook 有一个简单的检查来确保页面应该由浏览器打开,因此我们通过设置 useragent 标头来模仿它。

最好使用 cURL: 这是一个类似的问题Facebook page feed doesn't work with php file_get_contents()

只需更改请求的 url。或者,如果您想坚持使用文件获取内容功能,请尝试为其设置用户代理的参数:

$options = array(
  'http'=>array(
  'method'=>"GET",
  'header'=>"Accept-language: en\r\n" .
          "Cookie: foo=bar\r\n" .  // check function.stream-context-create on php.net
          "User-Agent: Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.102011-10-16 20:23:10\r\n" // i.e. An iPad 
 )
);

$context = stream_context_create($options);
$file = file_get_contents($url, false, $context);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-30
    • 1970-01-01
    • 1970-01-01
    • 2019-10-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多