@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е?
  • Вопрос задан
  • 72 просмотра
Пригласить эксперта
Ответы на вопрос 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 указан один и тот же файл?
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Улыбка радуги Санкт-Петербург
от 120 000 до 190 000 ₽
Улыбка радуги Санкт-Петербург
от 130 000 до 200 000 ₽
Spice IT Recruitment Москва
До 230 000 ₽
10 июл. 2020, в 00:25
80000 руб./за проект
09 июл. 2020, в 23:02
3000 руб./за проект