Как безопасно подключиться, чтобы получить безопасный cookie - PullRequest
0 голосов
/ 12 июня 2019

Я хочу подключиться и получить данные с веб-сайта с безопасным файлом cookie. Мне нужно установить cookie при следующем запросе для решения капчи, но я не вижу cookie в моем проекте или скрипаче.

Только на том же сайте, безопасный, показывать httponly в заголовке ответа set-cookie

Как я могу симулировать этот процесс как браузер?

Что делает браузер именно так, как он видит в куки?

Я знаю о настройке X509 CA на cURL и пробую его, но я получаю ошибку во всех тестах: издатель сертификата Peer не распознан.

я использую CURLOPT_CAINFO для установки CA по моему запросу я пытаюсь использовать другой формат CA, например, cer, crt, pem, чтобы изменить его с помощью openssl

<؟php
        $headers = array(
            'Host: example.com',
            'Connection: keep-alive',
            'Upgrade-Insecure-Requests: 1',
            'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36',
            'Accept-Language: en-US,en;q=0.9',
        );
        $url='https://example.com/';
        $curl = curl_init();
        curl_setopt_array($curl, array(
            CURLOPT_URL            => $url,
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_ENCODING       => "",
            CURLOPT_MAXREDIRS      => 30,
            CURLOPT_FRESH_CONNECT      => true,
            CURLOPT_HTTP_VERSION   => CURL_HTTP_VERSION_1_1,
            CURLOPT_CUSTOMREQUEST  => 'GET',
            CURLOPT_HTTPHEADER     => $headers,
            CURLOPT_CONNECTTIMEOUT     => 10,
            CURLOPT_SSL_VERIFYPEER     => true,
            CURLOPT_SSL_VERIFYHOST     => 2,
            CURLOPT_CAINFO     => 'Cert/certificate.crt',
            CURLOPT_VERBOSE     => 1,
            CURLOPT_HEADER     => 1,
        ));
        $response = curl_exec($curl);
        $err      = curl_error($curl);
?>

1 Ответ

0 голосов
/ 12 июня 2019

чтобы установить cookie с помощью curl, убедитесь, что у вас есть два варианта

$cookiefile = dirname(__FILE__)."/cookie.txt" ; 
curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookiefile);
curl_setopt ($ch, CURLOPT_COOKIEFILE, $cookiefile);
...