无法使用php提取任何facebook页面图像


unable to extract any facebook page images using php

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

有什么办法我可以为facebook做这件事吗?

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

最好使用cURL:这里有一个类似的问题,Facebook的页面提要没有;无法使用php文件_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);