@Us59

Почему сайт не дает нужные куки?

Зашел в режим инспектора, сделал copy as cURL через сайт с генерировал curl запрос.

curl_setopt($ch, CURLOPT_URL, 'myURL');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_ENCODING, 'gzip, deflate');
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookiefile);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookiefile);


Все Headers отправляю. Сайт отвечает мне ответом 200, кажется все норм, но при этом в браузере ответ - Status Code: 304 Not Modified

А теперь о проблеме:
Мне нужно получить куки от сайта.

Вот фото того, что я вижу в браузере:
5ec63b279acd3441763252.png

Сайт дает 2 куки, которые мне нужны: ak_bmscи akacd_activate_*****_com_phased_release

Теперь делаю cURL запрос и получаю куки:
akacd_activate_*****_com_phased_release и bm_sz и _abck, т.е. сайт мне не дает куки которые мы видим в браузере, а дает какие-то другие.

Может нужно добавить какие-то настройки в cURLе?
  • Вопрос задан
  • 134 просмотра
Пригласить эксперта
Ответы на вопрос 1
@loonny
Код "HTTP 304 Not Modified" клиента указывает, что нет необходимости повторно передавать запрошенные ресурсы. Это неявное перенаправление на кэшированный ресурс.

вырезка из MDN - 304 Not Modified


Возможно ваш сервер по разному реагирует на запросы от пользователя(User-Agent) и от стороннего сервера(Host)

Сайт дает 2 куки, которые мне нужны: ak_bmscи akacd_activate_*****_com_phased_release

Теперь делаю cURL запрос и получаю куки:
akacd_activate_*****_com_phased_release и bm_sz и _abck, т.е. сайт мне не дает куки которые мы видим в браузере, а дает какие-то другие.


Попробуйте в дополнение передавать User-Agent в запросе, вот так:
curl_setopt_array($ch, [
    CURLOPT_URL, 'myURL',
    CURLOPT_RETURNTRANSFER, true,
    CURLOPT_FOLLOWLOCATION, true,
    CURLOPT_ENCODING, 'gzip, deflate',
    CURLOPT_COOKIEFILE, $cookiefile,
    CURLOPT_COOKIEJAR, $cookiefile,
    CURLOPT_USERAGENT, '' // Впишите сюда User-Agent из вашего браузера
    ]);


P.S. зачем вот это curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');? По умолчанию и так GET.
P.P.S Почему в CURLOPT_COOKIEFILE и CURLOPT_COOKIEJAR указан один и тот же файл?
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
27 нояб. 2024, в 19:08
1500 руб./в час
27 нояб. 2024, в 18:19
2000 руб./за проект
27 нояб. 2024, в 17:41
2000 руб./за проект