多数のプロキシの背後にあるリモート サーバーに R でファイルをダウンロードしようとしています。R を介してアクセスするか、単に Web ブラウザーを介してアクセスするかに関係なく、そのサーバーでファイルにアクセスしようとするたびに、ファイルがキャッシュされて返される原因が何か (何が原因かわかりません) です。
通話で使用しようとしcacheOK=FALSE
ましたが、効果がありませんでした。download.file
あたりブラウザに強制的に画像を更新/ダウンロードさせる方法はありますか? URL の末尾にランダムなサフィックスを追加してみました。
download.file(url = paste("http://mba.tuck.dartmouth.edu/pages/faculty/ken.french/ftp/F-F_Research_Data_Factors_daily.zip?",
format(Sys.time(), "%d%m%Y"),sep=""),
destfile = "F-F_Research_Data_Factors_daily.zip", cacheOK=FALSE)
これにより、たとえば次の URL が生成されます。
http://mba.tuck.dartmouth.edu/pages/faculty/ken.french/ftp/F-F_Research_Data_Factors_daily.zip?17092012
リモート サーバー上の Web ブラウザーからアクセスすると、実際にファイルの最新バージョンが返されます。ただし、download.file
R でアクセスすると、破損した zip アーカイブが返されます。WinRAR と R のunzip
機能の両方が、zip ファイルが破損していると訴えています。
unzip("F-F_Research_Data_Factors_daily.zip")
1: In unzip("F-F_Research_Data_Factors_daily.zip") :
internal error in unz code
このファイルを R 経由でダウンロードすると破損したファイルが返されるのに、Web ブラウザー経由でダウンロードすると問題が発生しない理由がわかりません。
download.file
R からキャッシュを打ち負かす方法 (これについては期待していません)、または?someRandomString が最後に追加された URL が気に入らない理由を誰かが提案できますか?