Запрос cURL не принимает куки, приводит к бесконечному перенаправлению

0

Я пытаюсь создать запрос cURL для загрузки pdf. Я получаю сообщение об ошибке "Ошибка: максимум (100) после ошибки" и полагаю, что это связано с проблемой cookie. Здесь соответствующий код из моего запроса cURL:

$cookie_file = "/home/mrpeanut/php/cookie.txt"
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSLVERSION, 4);
curl_setopt($ch, CURLOPT_SSL_CIPHER_LIST, implode(':', $arrayCiphers));
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_MAXREDIRS, 100);
curl_setopt($ch, CURLOPT_TIMEOUT, 20);
curl_setopt($ch, CURLOPT_COOKIEJAR, realpath($cookie_file));
curl_setopt($ch, CURLOPT_COOKIEFILE, realpath($cookie_file));

И также попробовали CURLOPT_COOKIEJAR, '-' (отсюда), все без везения. PDF файлы просто отлично работают с помощью браузера. Тем не менее, он загружается, даже если я отключу все файлы cookie с помощью панели инструментов веб-разработчиков (возможно, это не моя настоящая проблема?).

  • 0
    Требуется ли для входа на сайт, с которого вы это скачиваете? Поэтому вам необходимо отправить ВСЕ файлы cookie, которые есть в вашем браузере, особенно такие вещи, как сеансовые файлы cookie / токены авторизации.
  • 0
    Если есть сеанс на основе файлов cookie, add curl_setopt($ch, CURLOPT_COOKIESESSION, TRUE); Есть сообщения, что бесконечные перенаправления также основаны на неправильном URL-адресе - например, http вместо https или смешанный регистр URL
Показать ещё 4 комментария
Теги:
curl
cookies

1 ответ

0

Вам необходимо отправить CURLOPT_COOKIE со значением вашего PHPSESSID. Именно так сервер будет определять cookie.

Вы должны добавить это

curl_setopt($ch, CURLOPT_COOKIE, 'PHPSESSID=' . $_COOKIE['PHPSESSID'] . '; path=/');
  • 0
    Я все еще получаю максимальную ошибку перенаправления с вашим кодом. Если я FOLLOWLOCATION , результатом будет «Объект переместился сюда». (с указанием перенаправления). Тем не менее, URL-адрес, который я предоставляю, прекрасно работает в браузере.
  • 0
    Вы использовали функцию php session_start () в верхней части вашего файла?
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню