Задать вопрос
@Godji

Авторизация на сайте при помощи CURL PHP?

Форма посылает следующие параметры:

UserName:username
Password:pass
userScreenWidth:1280
userScreenHeight:1024


Пытаюсь авторизироваться так:
<?
$ch = curl_init();
$url = 'https://site.ru/Account/Login';
curl_setopt($ch, CURLOPT_URL, $url ); // отправляем на
curl_setopt($ch, CURLOPT_USERAGENT,'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/32.0.1700.107 Chrome/32.0.1700.107 Safari/537.36');
curl_setopt($ch, CURLOPT_HEADER, 0); // пустые заголовки
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // возвратить то что вернул сервер
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // следовать за редиректами
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);// таймаут
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);// отключаем проверку сертификата
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__).'/cookie.txt'); // сохранять куки в файл
curl_setopt($ch, CURLOPT_COOKIEFILE,  dirname(__FILE__).'/cookie.txt');
curl_setopt($ch, CURLOPT_POST, 1); // использовать данные в post
curl_setopt($ch, CURLOPT_POSTFIELDS, array(
  'UserName'=>'username',
  'Password'=>'pass',
  'userScreenWidth'=>1280,
  'userScreenHeight'=>1024,
));
curl_setopt($ch, CURLOPT_URL, 'https://site.ru/News'); // внутренняя страница
curl_setopt($ch, CURLOPT_POST, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, "");
$answer = curl_exec($ch);
curl_close($ch);
echo $answer;
?>


Но авторизация не происходит, куки пишет.
  • Вопрос задан
  • 1344 просмотра
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Bloby
curl_setopt($ch, CURLOPT_URL, 'https://site.ru/News'); // внутренняя страница
curl_setopt($ch, CURLOPT_POST, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, "");

какой смысл перезаписывать параметры?
добавьте перед тем блоком это: $answer = curl_exec($ch);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы