PHP cURL 登录到 facebook

Posted

技术标签:

【中文标题】PHP cURL 登录到 facebook【英文标题】:PHP cURL to login to facebook 【发布时间】:2014-06-04 20:31:05 【问题描述】:

我正在尝试使用 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 个权限。 我也尝试过在线使用多个 sn-ps,但它们都给出了相同的错误。在我完成这项工作并且我也能够使用 curl 浏览 Facebook 之前,我无法继续我当前的项目。任何帮助表示赞赏。

提前致谢。

【问题讨论】:

【参考方案1】:

这可能会有所帮助:

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

检查这个答案:

Post to a Facebook user's wall with cURL PHP

【讨论】:

【参考方案2】:

我遇到了同样的问题,我通过添加以下内容来解决它:

curl_setopt($s, CURLOPT_COOKIESESSION, false);

【讨论】:

【参考方案3】:

这必须在 curl cookie 上使用:

curl_setopt($ch, CURLOPT_COOKIEFILE, getcwd () . '/mirazmac_cookie.txt' );

curl_setopt($ch, CURLOPT_COOKIEJAR, getcwd () . '/mirazmac_cookie.txt' );

【讨论】:

【参考方案4】:

最好使用facebook login sdk

因为 Facebook 不断对其源代码进行更改。

【讨论】:

不完全是我想要的。因为,我想做的不在 Facebook 的 SDK 中……

以上是关于PHP cURL 登录到 facebook的主要内容,如果未能解决你的问题,请参考以下文章

php教程 CURL实现带有验证码网站的模拟登录的方法

如何在curl php中发送第二个请求时保留会话?

PHP通过CURL模拟登录并获取数据

php curl post登录随笔

使用 curl 登录到 WS1

PHP模拟登录并获取数据