Задать вопрос
Chernichko
@Chernichko
Учусь.

Почему не происходит авторизации через cURL PHP?

Моя беда и боль - авторизация через cURL.
Код авторизации:

$baseUrl = 'https://peek-cloppenburg.at/myaccount/';
$url = 'https://www.peek-cloppenburg.at/myaccount/login';
$data = file_get_html($url);

$csrf = '';

if (count($data->find('div.loginBox form input[name=_csrf]'))) {
    foreach ($data->find('div.loginBox form input[name=_csrf]') as $div)
        $csrf = $div->value;
}

$ch = curl_init($url);                            // Логинимся на сайте
$postData = ['email' => $login, 'password' => $password, '_csrf' => $csrf];
curl_setopt_array(
    $ch, array(
    CURLOPT_POST => true,
//    CURLOPT_URL => $baseUrl,
    CURLOPT_POSTFIELDS => $postData,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_SSL_VERIFYPEER => FALSE,
    CURLOPT_REFERER => $baseUrl,
//    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_COOKIEJAR => "cookie.txt",
    CURLOPT_HEADER => true
));
$result = curl_exec($ch);
curl_close($ch);


Результат :

string(1250) "HTTP/1.1 100 Continue

HTTP/1.1 302 Found
Cache-Control: private, no-cache, no-store, must-revalidate, post-check=0, pre-check=0
Content-Type: text/plain; charset=utf-8
Date: Mon, 25 Sep 2017 07:56:52 GMT
Location: https://peek-cloppenburg.at/myaccount/
Set-Cookie: did=s%3ASPbkJ0vYD54giVFaO4BJ3V2MlVEweFN4.3GdSOWSBy8lgNi%2F86fp1LsDFVZ1RdIIrEKP2HvBtrMM; Max-Age=94608000; Domain=.peek-cloppenburg.at; Path=/; Expires=Thu, 24 Sep 2020 07:56:52 GMT; Secure
Vary: User-Agent, Accept, Accept-Encoding
X-Content-Type-Options: nosniff
x-request-id: e6c38de3-6bdd-45cd-bcd5-dcec76e50f2e
X-XSS-Protection: 1; mode=block
Content-Length: 60
Connection: keep-alive
Set-Cookie: visid_incap_753894=BrccN5aESViJiMVck3oh+MK2yFkAAAAAQUIPAAAAAAAmF6l21PqCtLNLV7Zh3EXC; expires=Mon, 24 Sep 2018 14:48:23 GMT; path=/; Domain=.peek-cloppenburg.at
Set-Cookie: nlbi_753894=4MCJRROblklNOncEtErIoQAAAAAXTJ6UfLbgFycyWeuQ0jpS; path=/; Domain=.peek-cloppenburg.at
Set-Cookie: incap_ses_800_753894=ZuNdQsceikE6xTlGxSsaC8O2yFkAAAAAT4xzB85uMYfe3HxbOLKgJw==; path=/; Domain=.peek-cloppenburg.at
X-Iinfo: 9-11749772-11749775 NNNN CT(70 145 0) RT(1506326211175 57) q(0 0 2 0) r(3 3) U6
X-CDN: Incapsula

Found. Redirecting to https://peek-cloppenburg.at/myaccount/"

Что вроде кажется все впорядке, я могу зайти на страницу, скажем, личного кабинета. Итак, код:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $baseUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");
curl_setopt($ch, CURLOPT_HEADER, true);
$result = curl_exec($ch);
curl_close($ch);


Результат:

HTTP/1.1 301 Moved Permanently
Location: https://www.peek-cloppenburg.at/myaccount/
Content-Length: 0
Connection: close

Что означает. что все прошло неуспешно, он редиректит меня на страницу авторизации.

Мне не понятно, почему так просиходит и что я делаю не так.

Также я пробовала все заголовки поделить на массив кук и массив всего остального и отправить таким образом. Но ничего не работает.

Пожалуйста, объясните мне что не так. Что я не правильно делаю?
Как авторизоваться и выполнять действия в личном кабинете сата через cURL?
  • Вопрос задан
  • 408 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
za4me
@za4me
Человек
Используйте guzzle.
Ответ написан
DmitriyEntelis
@DmitriyEntelis
Думаю за деньги
Попробуйте куки все воспроизвести которые устанавливает страница https://www.peek-cloppenburg.at/myaccount/login/
Ответ написан
Ваш ответ на вопрос

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

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