dimants
Новичок
cURL, cookies, авторизация
Здравствуйте, пересмотрел весь форум, но так и не смогь решить мою задачу:
мне необходимо:
1. по https соединиться curl'ом с другим сервером
2. залогиниться там
проблема заключается в том, что авторизация на сервере происходит куками, а они в curl'е доступны, но я не могу понять, как ими пользоваться
при верной авторизации сервер редиректит меня на стартовую страницу (start.pl)
вот то, что я налопатил
т.е. мне нужно авторизоваться, записать куки в /tmp/cookieFileName, затем получить их оттуда же при обращении к другой странице, вот это у меня и не получается...
Помогите пожалуйста
зы. я не собираюсь воровать контент с сайтов, мне нужно выкладывать статистику сайта
Здравствуйте, пересмотрел весь форум, но так и не смогь решить мою задачу:
мне необходимо:
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";
?>

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