PHP cURL 登录 facebook

标签 php facebook cookies curl authentication

我正在尝试使用 curl 登录 Facebook,但我尝试的所有操作都以 Facebook 告终,“您的浏览器未启用 Cookie。请在您的浏览器首选项中启用 cookie 以继续。”

$login_email = 'email';
$login_pass = 'password';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://www.facebook.com/login.php');
curl_setopt($ch, CURLOPT_POSTFIELDS,'email='.urlencode($login_email).'&pass='.urlencode($login_pass).'&login=Login');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_COOKIEJAR, "cookies.txt");
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookies.txt");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3");
curl_setopt($ch, CURLOPT_REFERER, "http://www.facebook.com");
$page = curl_exec($ch) or die(curl_error($ch));
echo $page;

cookie 文件 'cookies.txt' 存在,并且有 644 个权限。 我也尝试过在线使用多个片段,但它们都给出了相同的错误。在我开始工作之前,我无法继续我当前的项目,并且我也可以使用 curl 浏览 Facebook。感谢您的帮助。

提前致谢。

最佳答案

这可能有帮助:

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);

检查这个答案:

Post to a Facebook user's wall with cURL PHP

关于PHP cURL 登录 facebook,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23186168/

相关文章:

php - onchange 后下拉选择值重置

javascript - Passport - NodeJS - Facebook 身份验证后将用户返回到上一页

javascript - 将 PHP 数据作为 cookie 返回给前端

c# - 如何在 Blazor 服务器中设置同意 cookie

php - Laravel 5.2 在 Azure 上出现奇怪的错误

php - Sage One API - unsupported_grant_type

android - 通过 Rest Server 使用 Facebook 帐户发布到 Drupal

cookies - 反伪造 token Cookie 仅在嵌入 Iframe 时才出现在请求 header 中

php - 使用 while 循环在 5 列 Bootstrap Carousel 中显示无限数据

objective-c - Mac 应用程序中的 Facebook