web-dev-qa-db-fra.com

PHP curl se connecter à facebook

J'essaie de me connecter à Facebook en utilisant curl, mais tout ce que j'ai essayé s'est retrouvé dans Facebook: "Les cookies ne sont pas activés sur votre navigateur. Veuillez activer les cookies dans les préférences de votre navigateur pour continuer."

$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;

Le fichier cookie 'cookies.txt' existe et dispose de 644 autorisations . J'ai également essayé d'utiliser plusieurs extraits en ligne, mais ils donnent tous la même erreur. Je ne peux pas continuer avec mon projet actuel tant que je ne travaille pas et que je peux également naviguer sur Facebook en utilisant curl. Toute aide est appréciée.

Merci d'avance.

11
Stumblinbear

Cela peut aider:

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

Vérifiez cette réponse:

Publiez sur le mur d'un utilisateur Facebook avec cURL PHP

9
Pedro Lobito

J'ai eu le même problème et je l'ai corrigé en ajoutant ce qui suit:

curl_setopt ($ s, CURLOPT_COOKIESESSION, false);

4
Zen

Cela doit être utilisé sur curl cookie: 

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

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