2014-12-30 8 views
5

URL에서 CSV 파일을 가져 오려고하는데 1 분 후에 시간 초과가 된 것 같습니다. csv 파일은 요청 시점에 생성되므로 1 분 이상 필요합니다. 시간 제한을 늘리려고했지만 작동하지 않았지만 1 분 후에도 계속 실패합니다.URL 요청 실패/시간 초과 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 

결과 로그 :

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 

그것이 1 분에 도달하면 실패 유지를 어떻게 할 문제를 수 다음과 같이

나는 urlread.csv을 사용하고 있습니다? 아니면 타임 아웃을 늘리려면 어떻게해야합니까?

나는 브라우저에서 URL을 시도하고 그것을 잘 작동하지만이 CSV를

답변

3

libcurl에로드 할 수 분 이상 소요 http://curl.haxx.se/libcurl/c/CURLOPT_CONNECTTIMEOUT.html을 설정 ConnectTimeout이 있습니다. 당신은 아웃이 일어나는 시간을 제안하는 서버에서 500 오류가 있어요

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

을, 당신은 더 적은을 요청할 수 있습니다하지 않는 한 (당신의 통제 밖에 그에입니다 : 당신은 RCurl이 설정할 수 있습니다 데이터)