1

多数のプロキシの背後にあるリモート サーバーに 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.fileR でアクセスすると、破損した 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.fileR からキャッシュを打ち負かす方法 (これについては期待していません)、または?someRandomString が最後に追加された URL が気に入らない理由を誰かが提案できますか?

4

1 に答える 1

4

使えば効きますmode="wb"

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", mode='wb', cacheOK=FALSE)
于 2012-09-17T21:34:54.020 に答える