@siroper

Не удается авторизоваться через curl, почему?

Здравствуйте. Пытаюсь авторизоваться на сайте по curl php (сайт на битрикс) но не удается
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://www.site.ru/login/' );
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_NOBODY, 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);
curl_setopt($ch, CURLOPT_POSTFIELDS, array(
	'user'=>'login@mail.ru',
	'password'=>'pass'
));
curl_exec($ch);
curl_close($ch);


Создается файл cookie в котором одна единственная строка - закомментирована! Почему, что не так я не понимаю.
#HttpOnly_.www.site.ru	TRUE	/	FALSE	0	PHPSESSID	8i9thdlnkjeo50dleiffigb6lh


Соответственно сайт по curl не открывается дальше (сайт доступен только после авторизации).
  • Вопрос задан
  • 181 просмотр
Пригласить эксперта
Ответы на вопрос 2
samodum
@samodum
Какой вопрос - такой и ответ
Нужно изучать все POST/GET-запросы, без этого ответа быть не может.
Например, там может быть скриптовая капча, которую ты не учитываешь, но в запросах отображается и учитывается.
Ответ написан
Комментировать
Newto
@Newto
Все зависит от того, как построена авторизация на сайте.
Попробуйте
CURLOPT_HTTPHEADER => array(
    'Authorization: Basic ' . base64_encode($user.':'.$password)
);
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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