使用cURL PHP从页面获取所有cookie

时间:2019-06-11 20:55:07

标签: php curl

enter image description here 我正在尝试使用PHP的cURL访问一个页面,该页面将在“响应头”中返回2个cookie,但是在cURL头中仅返回第一个。

有人知道页面上是否可能有一些障碍,以及如何解决此问题?

  

此cookie是根据“状态码:302”生成的

我已经尝试获取“ file_get_contents”,并且还尝试了 "CURLOPT_HEADERFUNCTION"功能,我也知道成功 OBS:破解Google验证码的功能已在起作用。

$url = 'https://pje.trt15.jus.br/captcha/login_post.php';

$post = [
        'g-recaptcha-response' => $g_response,
        'referer'              => '/consultaprocessual/pages/consultas/ConsultaProcessual.seam',
        'random'               => $g_captcha_random,
        'entrar'               => $g_captcha_entrar
    ];

    if( $g_captcha_enviar != null )
        $post[$g_captcha_enviar] = 'Enviar';

    if( $g_captcha_entrar != null )
        $post['entrar'] = $g_captcha_entrar;


    $post_http = http_build_query($post);

    $headers = [
        ':authority: pje.trt15.jus.br',
        ':method: POST',
        ':path: /captcha/login_post.php',
        ':scheme: https',
        'accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3',
        //'accept-encoding: gzip, deflate, br',
        'accept-language: pt-BR,pt;q=0.9,en-US;q=0.8,en;q=0.7',
        'cache-control: no-cache',
        'content-length: ' . strlen($post_http),
        'content-type: application/x-www-form-urlencoded',
        'cookie: '.$cookie_captchasess.' _ga=GA1.3.1830456077.1560269951; _gid=GA1.3.249690674.1560269951',
        'origin: https://pje.trt15.jus.br',
        'referer: https://pje.trt15.jus.br/consultaprocessual/pages/consultas/ConsultaProcessual.seam',
        'upgrade-insecure-requests: 1'
    ];

    $options = [
        CURLOPT_COOKIESESSION   => true,
        CURLOPT_HEADER          => true,
        CURLOPT_POST            => true,
        CURLOPT_POSTFIELDS      => $post_http,
        CURLOPT_HTTPHEADER      => $headers,
        CURLOPT_COOKIE          => $cookie_captchasess,
        CURLOPT_FRESH_CONNECT   => true,
        CURLOPT_VERBOSE         => true,
        CURLOPT_REDIR_PROTOCOLS => CURLPROTO_HTTPS,
        CURLOPT_ENCODING        => 'gzip, deflate',

        CURLOPT_URL            => $url,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_AUTOREFERER    => true,
        CURLOPT_SSL_VERIFYHOST => false,
        CURLOPT_SSL_VERIFYPEER => false,
        CURLOPT_TIMEOUT        => 40,
        CURLOPT_USERAGENT      => $user_agent,
    ];

    $ch = curl_init();
    curl_setopt_array($ch, $options);
    $resp = curl_exec($ch);
    curl_close($ch);

    echo "<pre>";
    echo $resp;

0 个答案:

没有答案