![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| safronowmax |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 26.11.2015 Репутация: нет Всего: нет |
Здравствуйте, подскажите пж-та, пытаюсь с помощью curl авторизоваться на сайте avito.ru, авторизация проходит без проблем. С помощью этого же скрипта пытаюсь авторизоваться на сайте cyberforum.ru (подставляю в переменную $urlOut http://www.cyberforum.ru/, в переменную $urlTo http://www.cyberforum.ru/login.php?do=login, меняю логин пароль в переменных $login, $password). Текст скрипта ниже:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="ru" xml:lang="ru"> <head> <meta http-equiv="Content-type" content="text/html; charset=UTF-8" /> <?php $urlOut = ' http://www.cyberforum.ru/; // Куда данные послать $urlTo = ' http://www.cyberforum.ru/login.php?do=login'; // Куда данные послать $login = 'login; // Логин $password = 'password'; // Пароль $auth = 'login='.$login.'&password='.$password; // POST данные $ch = curl_init(); // Инициализация сеанса curl_setopt($ch, CURLOPT_URL, $urlTo); curl_setopt($ch, CURLOPT_HEADER, 1); // получать заголовки curl_setopt($ch, CURLOPT_CONNECTTIMEOUT,30); curl_setopt($ch, CURLOPT_USERAGENT,'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36'); curl_setopt($ch, CURLOPT_REFERER, 'http://www.avito.ru'); curl_setopt($ch, CURLOPT_POST,1); curl_setopt($ch, CURLOPT_COOKIEJAR,$_SERVER['DOCUMENT_ROOT'].'/cookiefile.txt'); curl_setopt($ch, CURLOPT_POSTFIELDS, $auth); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); // Говорим скрипту, чтобы он следовал за редиректами которые происходят во время авторизации curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, true); curl_setopt ($ch, CURLOPT_HTTPHEADER, array('Expect:')); // это необходимо, чтобы cURL не высылал заголовок на ожидание $result = curl_exec($ch); curl_setopt($ch, CURLOPT_URL, $urlOut); curl_setopt($ch, CURLOPT_HEADER, 0); // получать заголовки curl_setopt($ch, CURLOPT_CONNECTTIMEOUT,30); curl_setopt($ch, CURLOPT_USERAGENT,'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36'); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_COOKIEFILE,$_SERVER['DOCUMENT_ROOT'].'/cookiefile.txt'); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); // Говорим скрипту, чтобы он следовал за редиректами которые происходят во время авторизации curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, true); $result = curl_exec($ch); // Забираем страницу curl_close($ch); // Завершаем сеанс ?> </head> <body> <?php echo $result; // Оказываемся в вашем аккаунте ?> </body> </html> |
|||
|
||||
| wgent |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 6.11.2015 Репутация: нет Всего: нет |
А вот это ты в исходном коде сайберфорумской формы входа видел?
Не получится просто заполнить поля в POST-запросе, надо смотреть, каким образом джаваскрипты сайберфорума твои логин-пароль хэшируют перед отправкой. Это сообщение отредактировал(а) wgent - 29.11.2015, 07:16 |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |