@alexmixaylov

Как правильно сформировать cookieJar файл в js чтоб впоследствии скормить его CURL?

нужно сделать доступ в ЛК одного сервиса, апишки у них нет и стоит защита от ботов
В итоге приходится извращаться
Авторизуюсь и получаю сессию при помощи Puppeteer.
А дергать данные уже нужно при помощи curl, используя данные полученной сессии

Пытаюсь сформировать cookiejar вручную используя спеки https://curl.haxx.se/docs/http-cookies.html
let cookieJar = await cookies.map(row => {
        let cookieRow = []
        cookieRow.push(row['domain'])   // the domain name
        cookieRow.push('FALSE')         // include subdomains
        cookieRow.push(row['path'])     // path
        cookieRow.push(row['secure'])   // send/receive over HTTPS only
        cookieRow.push(row['expires'])  //
        cookieRow.push(row['name'])     // name of the cookie
        cookieRow.push(row['value'])    // value of the cookie
        return cookieRow.join('\t');
    }).join('\n')

получается файл такого формата
127.0.0.1	FALSE	/	false	-1	PHPSESSID	fd435as2kcpkc3ovah88022e1j

когда использую это в Curl - это не помогает
$ch = curl_init($url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_USERAGENT, $this->userAgent);
//        curl_setopt($ch, CURLOPT_COOKIE, 'PHPSESSID=fd435as2kcpkc3ovah88022e1j;'); // это работает
        curl_setopt($ch, CURLOPT_COOKIEFILE, $this->cookieJarFile); // при попытке прочитать из файла - не работает

Какова может быть причина?
  • Вопрос задан
  • 105 просмотров
Решения вопроса 1
SilenceOfWinter
@SilenceOfWinter Куратор тега PHP
та еще зажигалка...
1. замени CURLOPT_COOKIEFILE на CURLOPT_COOKIEJAR и посмотри как сохраняться куки
2. нахрен тебе именно этот формат формировать? формируй CURLOPT_COOKIE из любого формата
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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