share the same cookie between two website using PHP cURL extension
Posted
by powerboy
on Stack Overflow
See other posts from Stack Overflow
or by powerboy
Published on 2010-05-16T22:08:56Z
Indexed on
2010/05/16
22:10 UTC
Read the original article
Hit count: 308
I want to get the contents of some emails in my gmail account. I would like to use the PHP cURL extension to do this. I followed these steps in my first try:
- In the PHP code, output the contents of https://www.google.com/accounts/ServiceLoginAuth.
- In the browser, the user input username and password to login.
- In the PHP code, save cookies in a file named cookie.txt.
- In the PHP code, send request to https://mail.google.com/ along with cookies retrieved from cookie.txt and output the contents.
The following code does not work:
$login_url = 'https://www.google.com/accounts/ServiceLoginAuth';
$gmail_url = 'https://mail.google.com/';
$cookie_file = dirname(__FILE__) . '/cookie.txt';
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
curl_setopt($ch, CURLOPT_URL, $login_url);
$output = curl_exec($ch);
echo $output;
curl_setopt($ch, CURLOPT_URL, $gmail_url);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
$output = curl_exec($ch);
echo $output;
curl_close($ch);
© Stack Overflow or respective owner