Авторизация на pdj через curl, с отправкой POST - Visavi.net https://visavi.net/ RSS - Visavi.net https://visavi.net/assets/img/images/logo_small.png RSS - Visavi.net https://visavi.net/ [email protected] (admin) [email protected] (admin) Sat, 11 Jan 2025 00:01:58 +0300 В скрипт не вставил строку отправки hedaers&#039;ов, так как делал это через &quot;curl_setopt($curl, CURLOPT_HEADER, $headers);&quot;. Сказали что не правильно.....как же мне быть? https://visavi.net/topics/30360/521448 Авторизация на pdj через curl, с отправкой POST Михаил Sat, 10 Mar 2012 15:35:29 +0400 Сообщения https://visavi.net/topics/30360/521448 Вот headers&#039;ы, которые удалось выудить с помошью 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&#58;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 = &#039;http&#58;//www.promodj.com&#039;; // URL сайта на котором будем авторизоваться $urlTo = &#039;http&#58;//www.promodj.com/login&#039;; // URL на которой будем слать POST данные $login = &#039;login&#039;; // Ваш логин $pass = &#039;pass&#039;; // Ваш пароль $post = &#039;backto=promodj.com&amp;unsafeip=1&amp;remember=1&amp;login=&#039;.$login.&#039;&amp;password=&#039;.$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, &#039;cookie.txt&#039;); // Записываем cookies в файл, чтобы потом можно было их считать curl_setopt($ch, CURLOPT_COOKIEFILE, &#039;cookie.txt&#039;); // Теперь читаем cookies с файла curl_setopt($ch, CURLOPT_POST, true); // Говорим, что информация будет отправляться методом POST curl_setopt($ch, CURLOPT_POSTFIELDS, $post); // Передаем POST данные // Иногда бывает, что после отправки данных происходит редирект heaer(&#039;Location&#58;...&#039;). // Этот параметр говорит о то, чтобы мы следовали за ними, а не оставались на месте после отправки данных $html = curl_exec($ch); // Записываем пришедшие данные в переменную curl_close($ch); // Закрываем сеанс работы CURL echo $html; // И вуаля &#58;) Выводим авторизованную страницу </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&#039;ы. Тут и столкнулся с проблемой, вроде отправляю все headers&#039;ы, а ошибка остается. <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