Удаленный вход в аккаунт Facebook - PullRequest
1 голос
/ 28 июня 2010

Для целей моего проекта мне необходимо удаленно войти в свою учетную запись 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);

 ?>

1 Ответ

4 голосов
/ 28 июня 2010

Чтобы использовать файлы cookie с curl, вам нужно указать «банку cookie», в которой файлы 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(), которая делает это.Это не связано с темой, которую вы опубликовали.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...