Авторизация на pdj через curl, с отправкой POST - Visavi.net
https://visavi.net/
RSS - Visavi.nethttps://visavi.net/assets/img/images/logo_small.pngRSS - Visavi.net
https://visavi.net/
[email protected] (admin)[email protected] (admin)Sat, 11 Jan 2025 00:01:58 +0300В скрипт не вставил строку отправки hedaers'ов, так как делал это через "curl_setopt($curl, CURLOPT_HEADER, $headers);". Сказали что не правильно.....как же мне быть?
https://visavi.net/topics/30360/521448
Авторизация на pdj через curl, с отправкой POST МихаилSat, 10 Mar 2012 15:35:29 +0400Сообщенияhttps://visavi.net/topics/30360/521448Вот headers'ы, которые удалось выудить с помошью HttpFox:<br>
<pre class="prettyprint">
(Request-Line) POST /stat.php HTTP/1.1
Host stat.livetool.ru
User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:10.0.2) Gecko/20100101 Firefox/10.0.2
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding gzip, deflate
Connection keep-alive
Cache-Control no-cache, no-cache
Content-Type application/x-www-form-urlencoded; charset=UTF-8
Content-Length 157
X-Livetool Yes
Pragma no-cache
</pre>
Вот код, с помошью которого пытаюсь авторизоваться:<br>
<pre class="prettyprint">
$url = 'http://www.promodj.com'; // URL сайта на котором будем авторизоваться
$urlTo = 'http://www.promodj.com/login'; // URL на которой будем слать POST данные
$login = 'login'; // Ваш логин
$pass = 'pass'; // Ваш пароль
$post = 'backto=promodj.com&unsafeip=1&remember=1&login='.$login.'&password='.$pass; // POST данные
$ch = curl_init(); // Инициализируем сеанс CURL
curl_setopt($ch, CURLOPT_URL, $url); // Заходим на сайт
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Делаем так, чтобы страница не выдавалась сразу в поток, а можно было ее записать в переменную
$html = curl_exec($ch); // Имитируем заход на сайт
curl_setopt($ch, CURLOPT_URL, $urlTo); // Устанавливаем адрес куда будем слать POST данные
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt'); // Записываем cookies в файл, чтобы потом можно было их считать
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt'); // Теперь читаем cookies с файла
curl_setopt($ch, CURLOPT_POST, true); // Говорим, что информация будет отправляться методом POST
curl_setopt($ch, CURLOPT_POSTFIELDS, $post); // Передаем POST данные
// Иногда бывает, что после отправки данных происходит редирект heaer('Location:...').
// Этот параметр говорит о то, чтобы мы следовали за ними, а не оставались на месте после отправки данных
$html = curl_exec($ch); // Записываем пришедшие данные в переменную
curl_close($ch); // Закрываем сеанс работы CURL
echo $html; // И вуаля :) Выводим авторизованную страницу
</pre>
https://visavi.net/topics/30360/521445
Авторизация на pdj через curl, с отправкой POST МихаилSat, 10 Mar 2012 15:30:58 +0400Сообщенияhttps://visavi.net/topics/30360/521445Имеется грабер pdj.ru, до недавнего времени он как и все обычные грабы тупо через file_get_contents открывал страницу и дальше работал с ним. Но теперь на pdj.ru ввели обязательную авторизацию, для просмотра сайта с 10 страницы и далее. Т.е сграбить по старому теперь можно только до 10 страницы включительно. Нужно авторизоваться через curl и продолжить работу в прежнем режиме. Я погуглил, узнал какие данные нужно отправить в формы, чтобы авторизоваться, но pdj.ru выдает следующее: 301 Moved Permanently. Так же на просторах интернета узнал, что на pdj стоит проверка на headers'ы. Тут и столкнулся с проблемой, вроде отправляю все headers'ы, а ошибка остается. <strong>Вопрос: что не правильно делаю? =)</strong>
https://visavi.net/topics/30360/521444
Авторизация на pdj через curl, с отправкой POST МихаилSat, 10 Mar 2012 15:30:51 +0400Сообщенияhttps://visavi.net/topics/30360/521444