为什么我的Gmail登录不能使用PHP和CURL?

I'm implementing one project using PHP, in that I want to login into a page automatically . The code is below.

$ch = curl_init();
$postdata="Email=$username&Passwd=$password&continue=https://www.mail.google.com";
curl_setopt ($ch, CURLOPT_URL,"https://www.google.com");
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6");
curl_setopt ($ch, CURLOPT_TIMEOUT, 60);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_COOKIEJAR, $gacookie);
curl_setopt ($ch, CURLOPT_COOKIEFILE, $gacookie);
curl_setopt ($ch, CURLOPT_REFERER, 'https://www.google.com');
curl_setopt ($ch, CURLOPT_POSTFIELDS, $postdata);
curl_setopt ($ch, CURLOPT_POST, 1);
$AskApache_result = curl_exec ($ch);
curl_close($ch);
echo $AskApache_result;
unlink($gacookie);
?>

But it won't work. Any ideas?

First of all: "it won't work" does not give us much information and context to help you solving the problem.

To get your questions answered, please try to supply details, for example:

  • What specific part is not working?
  • Do you get any error messages?
  • What operating system does you code run on?

It also helps to use a more descriptive question title. "PHP and CURL" does not give us much relevant information, whereas "How to solve error x123 when executing a CURL request" would be much more helpful.

Anyway. Looking at your code, there's at least one error:

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

should be:

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

Clarification: the third parameter starts with a single quote and ends with a double quote.

curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);

Is the most likely problem, option is disabled on most shared (& free) web hosts because it poses a security risk.