Can';t通过CURL-PHP保留会话ID

Can';t通过CURL-PHP保留会话ID,php,cookies,curl,Php,Cookies,Curl,我正在编写一个函数来获取验证码,当然它需要保持会话。我将cookie文件用于curl,并将其用于每个请求,但它不起作用。当我查看cookie文件时,我看到每次调用函数时PHPSESSID都发生了变化。我该怎么解决呢 这是我的密码 <?php function fetch_captcha($url, $cookie_file = false, $user_agent = DEFAULT_USER_AGENT, $timeout = 10) { $curl = curl_ini

我正在编写一个函数来获取验证码,当然它需要保持会话。我将cookie文件用于curl,并将其用于每个请求,但它不起作用。当我查看cookie文件时,我看到每次调用函数时PHPSESSID都发生了变化。我该怎么解决呢

这是我的密码

<?php    
function fetch_captcha($url, $cookie_file = false, $user_agent = DEFAULT_USER_AGENT, $timeout = 10) {
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_VERBOSE, true);
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);

    if ($cookie_file) {
        curl_setopt($curl, CURLOPT_COOKIESESSION, true);
        curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie_file);
        curl_setopt($curl, CURLOPT_COOKIEFILE, $cookie_file);
    }
    curl_setopt($curl, CURLOPT_USERAGENT, $user_agent);
    curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, $timeout);

    $response = curl_exec($curl);
    curl_close($curl);
    return $response;
}
不要使用:

curl_setopt($curl, CURLOPT_COOKIESESSION, true);
PHPSESSID
是一个会话cookie,此选项会导致每个
cURL
调用启动一个新会话,因此它会忽略文件中的所有会话cookie。

不要使用:

curl_setopt($curl, CURLOPT_COOKIESESSION, true);

PHPSESSID
是一个会话cookie,此选项会导致每次调用
cURL
都启动一个新会话,因此它会忽略文件中的所有会话cookie。

我已删除此行,但每次调用此函数时PHPSESSID仍会更改:(好的,我发现了问题,那就是每次调用此函数之前我都会重新创建cookie文件。非常感谢!我已经删除了这一行,但是每次调用此函数时PHPSESSID仍然会更改:(好的,我发现了问题,那就是每次调用此函数之前我都会重新创建cookie文件。非常感谢!