cURL, cookies, авторизация

dimants

Новичок
cURL, cookies, авторизация

Здравствуйте, пересмотрел весь форум, но так и не смогь решить мою задачу:
мне необходимо:
1. по https соединиться curl'ом с другим сервером
2. залогиниться там

проблема заключается в том, что авторизация на сервере происходит куками, а они в curl'е доступны, но я не могу понять, как ими пользоваться
при верной авторизации сервер редиректит меня на стартовую страницу (start.pl)

вот то, что я налопатил
PHP:
<?php
$ch = curl_init();
$POSTFIELDS="login=log&password=pas";
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
curl_setopt($ch, CURLOPT_FAILONERROR, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_TIMEOUT, 3);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);


curl_setopt($ch, CURLOPT_COOKIEJAR, "/tmp/cookieFileName");
curl_setopt($ch, CURLOPT_URL,"https://www.server.ru/auth.pl");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $POSTFIELDS);

ob_start();      // prevent any output
curl_exec ($ch); // execute the curl command
ob_end_clean();  // stop preventing output
print_r(curl_getinfo($ch)); 
echo "<br>\n\ncURL error number:" .curl_errno($ch); 
echo "<br>\n\ncURL error:" . curl_error($ch)."<br><br>"; 
// ...close cURL handle ($ch) below

curl_close ($ch);
unset($ch);




$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
curl_setopt($ch, CURLOPT_FAILONERROR, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_TIMEOUT, 3);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);


curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_COOKIEFILE, "/tmp/cookieFileName");
curl_setopt($ch, CURLOPT_URL,"https://www.server.ru/start.pl");

$buf2 = curl_exec ($ch);


print_r(curl_getinfo($ch)); 
echo "<br>\n\ncURL error number:" .curl_errno($ch); 
echo "<br>\n\ncURL error:" . curl_error($ch); 
// ...close cURL handle ($ch) below

curl_close ($ch);

echo "$buf2";
?>
т.е. мне нужно авторизоваться, записать куки в /tmp/cookieFileName, затем получить их оттуда же при обращении к другой странице, вот это у меня и не получается...:(

Помогите пожалуйста
зы. я не собираюсь воровать контент с сайтов, мне нужно выкладывать статистику сайта
 

ForJest

- свежая кровь
а что находится в "tmp/cookieFileName"?
куки туда записываются?
 

ForJest

- свежая кровь
значит смотри на заголовки остальные и обмен между сервером и скриптом.
 
Сверху