2017-01-22 23 views
2

URLを使用してFacebookにログインし、カールヘッダーIPを$_SERVER['REMOTE_ADDR']に変更します。しかし、IPはこれを修正する方法を教えてください変更しないでください。FacebookにログインCurl PHP

$ipku = $_SERVER['REMOTE_ADDR']; 
    $ip = array("REMOTE_ADDR: $ipku", "HTTP_X_FORWARDED_FOR: $ipku"); 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, 'https://m.facebook.com/login.php'); 

curl_setopt($ch, CURLOPT_POSTFIELDS,'email='.urlencode($em).'&pass='.urlencode($pa).'&login=Login'); 

curl_setopt($ch, CURLOPT_POST, 1); 

curl_setopt($ch, CURLOPT_HEADER, 0); 

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 

curl_setopt($chs,CURLOPT_HTTPHEADER,$ip); 

curl_setopt($ch, CURLOPT_COOKIEJAR,$cookie); 

curl_setopt($ch, CURLOPT_COOKIEFILE,$cookie); 

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 

curl_setopt($ch, CURLOPT_USERAGENT,'Opera/9.80 (Series 60; Opera Mini/6.5.27309/34.1445; U; en) Presto/2.8.119 Version/11.10'); 

curl_setopt($ch, CURLOPT_REFERER, 
    "https://www.facebook.com"); 

    $body = curl_exec($ch); 
+0

は実際には非常に困難です。それを行う方法を見つけるために私に数日かかった。そのオープンソースのtho、あなたはここを見てみることができますhttps://github.com/divinity76/msgme/blob/master/src/php/relays/facebook.relay.php – hanshenrik

+0

Facebookをスクレイプしようとしないでください。スクレイピングポリシーによって許可されていません。 APIを使用します。それは許可されているすべてを持っています。 – WizKid

答えて

0

これを追加してみてください:

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

とも、あなたがライン#15のタイプミスを持っているので、この変更を行う:カールにログインfacebookにログイン

// curl_setopt($chs,CURLOPT_HTTPHEADER,$ip); 
curl_setopt($ch, CURLOPT_HTTPHEADER, $ip); 
+0

https://m.facebook.com/checkpointブロック – kuwa

+0

任意の解決をお願いします – kuwa

+0

@kuwaログイン後、[m.facebook.com/checkpoint](http://m.facebook.com/checkpoint)にアクセスしたい場合は最初のコードサンプルで、同じオプションを使って別のカールリクエストを作成しますが、同じクッキーファイルを使用すると、ログインしていません。 – ksimunovic

関連する問題