2014-12-30 32 views
5

Bir url'den csv dosyası almaya çalışıyorum ama bir dakika sonra zaman aşımına uğramış gibi görünüyor. Csv dosyası istek anında oluşturulmaktadır, bu nedenle bir dakikadan biraz daha fazla zamana ihtiyaç duymaktadır. Zaman aşımını arttırmaya çalıştım ama işe yaramadı, bir dakika sonra hala başarısız oluyor.URL'de başarısızlık/zaman aşımı isteğinde hata var R

# Start the timer 
ptm <- proc.time() 
urlCSV <- getURL("http://someurl.com/getcsv", timeout = 200) 
txtCSV <- textConnection(urlCSV) 
csvFile <- read.csv(txtCSV) 
close(txtCSV) 
# Stop the timer 
proc.time() - ptm 

çıkan günlüğü:

Error in open.connection(file, "rt") : cannot open the connection 
In addition: Warning message: 
In open.connection(file, "rt") : 
cannot open: HTTP status was '500 Internal Server Error' 

user system elapsed 
0.225 0.353 60.445 

O bir dakika ulaştığında başarısız tutar ne olabilir sorunu olabilir şöyle

Ben url ve read.csv kullanıyorum? Veya zaman aşımını nasıl artırabilirim?

bir tarayıcıda url denedik ve iyi çalışıyor ama CSV

cevap

3

libcurl yüklemek için bir dakikadan daha fazla sürer http://curl.haxx.se/libcurl/c/CURLOPT_CONNECTTIMEOUT.html ayarı ConnectTimeout vardır. Dışarıda ne olup süresini göstermektedir sunucudan, bir 500 hatası alıyorsanız

library(RCurl) 
> getCurlOptionsConstants()[["connecttimeout"]] 
[1] 78 
myOpts <- curlOptions(connecttimeout = 200) 
urlCSV <- getURL("http://someurl.com/getcsv", .opts = myOpts) 
1

ve daha az sormak sürece (sizin kontrolünüz dışında bunun geçerli: Sen RCurl bu ayarlayabilirsiniz data)