我试图从网址获取csv文件,但似乎在一分钟后超时。 csv文件是在请求时创建的,因此需要一分多钟。我试图增加超时但它没有工作,一分钟后它仍然失败。
我使用url
和read.csv
如下:
# 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
结果日志:
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
当它达到一分钟时它会一直失败,可能是什么问题?或者我如何增加超时?
我在浏览器中尝试了网址并且工作正常,但加载csv需要一分多钟
答案 0 :(得分:4)
libcurl的CONNECTTIMEOUT设置为http://curl.haxx.se/libcurl/c/CURLOPT_CONNECTTIMEOUT.html。
您可以在RCurl
:
library(RCurl)
> getCurlOptionsConstants()[["connecttimeout"]]
[1] 78
myOpts <- curlOptions(connecttimeout = 200)
urlCSV <- getURL("http://someurl.com/getcsv", .opts = myOpts)
答案 1 :(得分:1)
您从服务器收到500错误,这表示超时发生在那里,因此无法控制(除非您可以要求更少的数据)