2012-03-29 15 views
3

urllib3で同じURLを何度もポーリングしています。私は要求をプロファイリングしていると私は、ヘッダ取得しています:最初の私はというよりもページのキャッシュされたバージョンを取得していた後、無変換、リクエストに最大エージング= 120python urllib3のキャッシュレスの回避方法

のCache-Controlをリクエストは再び実行されます。サーバーから返されたヘッダーを制御できません。どうすればキャッシュを防止できますか?

私はDebianのスクイズで午前、これはネイティブキャッシュを内蔵していないのpython 2.6.6

pool = urllib3.HTTPConnectionPool('itunes.apple.com') 
request = pool.request('GET', '/webObjects/MZStore.woa/wa/viewTop? 
         selected_tab_index=0&startIndex=0&genreId=36', 
         headers = {'Host': 'itunes.apple.com', 
         'Accept-Encoding': 'gzip, deflate', 'X-Apple-Tz': -18000, 
         'X-Apple-Store-Front': '143441-1,2') 
+0

をurllib3の呼び出しをパラメータで表示してください。 –

答えて

3

urllib3を実行している。あなたはよろしいです、それがキャッシュされた結果で応答サーバーではありませんか?次のヘッダーを追加

+0

それは非常に可能です。待っている以外のサーバーからキャッシュされた応答を返さないようにする方法はありますか? –

+0

それは実際にサーバーとそれが実装するロジックに依存します。 Jamesが以下に述べるように、cache-control:no-cacheヘッダーを送信してみることができます。 URLにタイムスタンプのようなクエリパラメータを追加することもできます。 – shazow

2

試してみてください。

のCache-Control:キャッシュなし

プラグマ:キャッシュなし

が有効期限:木、1970年1月1日00:00:00 GMT

+0

私はサーバが稼働していることを確認するスクリプトを実行したときにキャッシュされた結果が得られたのでここに来ました。これらのヘッダーを追加することは私のために働いた。ありがとう!私はPythonリクエストを使用しています – pa1983

関連する問題