远程登录facebook账户
Posted
技术标签:
【中文标题】远程登录facebook账户【英文标题】:Remote login to facebook account 【发布时间】:2011-03-09 00:14:58 【问题描述】:出于我的项目目的,我需要远程登录我的 facebook 帐户并从那里检索一些信息。出于登录目的,我正在使用 php 的 cURL 库。在执行代码时,facebook 页面要求我在我的浏览器上启用我已经启用的 cookie。代码有问题吗?任何人都可以帮助我远程登录我的帐户吗?我是新手,如果有任何帮助,我将不胜感激。 这是代码
<?php
//create array of data to be posted
$post_data['email'] = '*********';
$post_data['password'] = '**********';
$post_data['action'] = 'login';
//traverse array and prepare data for posting
foreach ( $post_data as $key => $value)
$post_items[] = $key . '=' . $value;
//create the final string to be posted using implode()
$post_string = implode ('&', $post_items);
//create cURL connection
$ch = curl_init('https://login.facebook.com/login.php?');
//set options
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_USERAGENT,
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
//set data to be posted
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_string);
//perform our request
$result = curl_exec($ch);
print_r($result);
//close the connection
curl_close($ch);
?>
【问题讨论】:
问题是什么,为什么不使用 FB API? 感谢您的回答,但我无法使用 FB API。 【参考方案1】:要在 curl 中使用 cookie,您需要指定一个“cookie jar”,这是 cookie 应该存储和加载的地方。您可以使用CURLOPT_COOKIEFILE
和CURLOPT_COOKIEJAR
选项来执行此操作。应该这样做:
curl_setopt($ch, CURLOPT_COOKIEJAR, 'facebook_cookies.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'facebook_cookies.txt');
查看http://php.net/curl_setopt了解更多信息。
顺便说一句,您还可以将$post_fields
作为数组传递给CURLOPT_POSTFIELDS
,因此您实际上不必自己生成查询字符串。如果你想这样做,还有一个 http_build_query()
函数可以做到这一点。不过,这与您发布的问题无关。
【讨论】:
以上是关于远程登录facebook账户的主要内容,如果未能解决你的问题,请参考以下文章