Curl отказывается очистить кэшированный сеанс / куки - PullRequest
2 голосов
/ 04 февраля 2011

У меня проблемы со страницей PHP, использующей CURL, не очищающей сеансовые куки. Код выглядит следующим образом:

    $crl = curl_init();
    $timeout = 5;
    curl_setopt ($crl, CURLOPT_COOKIESESSION, 1);
    curl_setopt ($crl, CURLOPT_FRESH_CONNECT, 1);
    curl_setopt ($crl, CURLOPT_URL,$url);
    curl_setopt ($crl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt ($crl, CURLOPT_FOLLOWLOCATION, 0);
    curl_setopt ($crl, CURLOPT_COOKIE, "");

    //curl_setopt($crl, CURLOPT_COOKIEFILE, 'cookies.txt');
    curl_setopt ($crl, CURLOPT_CONNECTTIMEOUT, $timeout);
    $page = curl_exec($crl);
    curl_close($crl);

Как видите, я пробовал несколько функций, чтобы очистить сеанс. Я также закомментировал файл cookie. Но, тем не менее, скрипт извлекает страницу с той же информацией cookie, которую он использовал ранее, когда я включил Cookiefile.

Есть идеи? Спасибо.

1 Ответ

1 голос
/ 06 февраля 2011

Попробуйте добавить временную метку к переменной $ url: $ url. '? t ='. время ().

Я обычно пытаюсь использовать cookiejar для этого, и я всегда стараюсь установить оба варианта:

curl_setopt($crl, CURLOPT_COOKIEFILE, 'cookies.txt');
curl_setopt($crl, CURLOPT_COOKIEJAR, 'cookies.txt');

Когда вы включаете этот файл, можно ли использовать cookies.txt для записи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...