Я пишу функцию для извлечения captcha, конечно, ей нужно сохранить сеанс. Я использую файл cookie для завивки и использую его для каждого запроса, но он не работает. Когда я просматриваю файл cookie, я вижу, что PHPSESSID менялся каждый раз, когда вызываю функцию. Как я могу это решить?Не удается сохранить идентификатор сеанса через CURL PHP
Вот мой код
<?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;
}
Я удалил эту строку, но PHPSESSID все равно меняются каждый раз, когда я вызываю эту функцию :( –
Хорошо, я нашел проблему, то есть я заново создаю файл cookie перед каждым вызовом этой функции. ! –