2011-02-04 19 views
2

CURLを使用してセッションCookieをクリアしない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); 

私はセッションをクリアするためにいくつかの機能を試しました。私はまた、クッキーファイルをコメントアウトしました。しかし、スクリプトでは、cookiusを有効にしたときに以前使用していたものと同じCookie情報でページを検索します。

アイデア?ありがとうございました。

+0

curlがCookieヘッダーを送信していますか? TCPトラフィックを$ urlホストにスニッフィングして、正確に何が送信されているかを確認できますか? – Fanis

+0

私は肯定的ではありませんが、それは唯一のCURL関連のコードであり、クッキーファイルは間違いなくコメントアウトされています。 TCPトラフィックをスニッフィングする方法はわかりませんが、それをテストする良い方法のように思えます。 – Jon

+0

CodeIgniterでこれをタグ付けしたのはなぜですか? –

答えて

1

$ url変数にタイムスタンプを追加してみてください:$ url。 '?t ='。時間()。

私は通常、このためのCookieJarを使用しよう、と私はオールウェイズ両方のオプションを設定しよう:

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

あなたはこれを有効にすると、cookies.txt書き込み可能でしょうか?

関連する問題