Ciao,
prova a fare qualcosa del genere:
Classe
Codice PHP:
class CurlFacebook
{
// parametri login Facebook
private $email;
private $password;
private function settaCookie($email,$password)
{
$this->password = $password;
$this->email = $email;
$a = $this->cURL("https://login.facebook.com/login.php?login_attempt=1",true,null,"email=$this->email&pass=$this->password");
preg_match('%Set-Cookie: ([^;]+);%',$a,$b);
$c = $this->cURL("https://login.facebook.com/login.php?login_attempt=1",true,$b[1],"email=$this->email&pass=$this->password");
preg_match_all('%Set-Cookie: ([^;]+);%',$c,$d);
for($i=0;$i<count($d[0]);$i++)
{
$cookie.=$d[1][$i].";";
}
return $cookie;
}
public function apriUrl()
{
echo $this->cURL("http://www.facebook.com/",null,$this->settaCookie(),null);
}
private function cUrl($url, $header=NULL, $cookie=NULL, $p=NULL)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, $header);
curl_setopt($ch, CURLOPT_NOBODY, $header);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); // -> https
curl_setopt($ch, CURLOPT_COOKIE, $cookie);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); // -> https
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
if ($p)
{
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $p);
}
$result = curl_exec($ch);
if ($result)
{
return $result;
}
else
{
return curl_error($ch);
}
curl_close($ch);
}
public function close()
{
curl_close ($this->ch);
}
}
Codice dove richiamo la classe
Codice PHP:
$curlFacebook = new CurlFacebook();
$curlFacebook->apriUrl("miaEmail","miaPassword");
... non l'ho provato, ma è giusto per dare un idea...