【发布时间】:2021-08-20 14:16:25
【问题描述】:
url <- "ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR105/056/SRR10503056/SRR10503056.fastq.gz"
for (i in 1:20){
RCurl::getURL(url, ftp.use.epsv = FALSE, dirlistonly = TRUE)
}
错误: 函数错误(类型、msg、asError = TRUE): 接收失败:对等方重置连接
为什么会这样?您是否需要在 curl 调用之间设置等待计时器以避免错误?是服务器端的吗?
> sessionInfo()
R 版本 4.1.0 (2021-05-18) 平台:x86_64-pc-linux-gnu(64位) 运行于:Ubuntu 20.04.2 LTS
矩阵产品:默认 BLAS:/usr/lib/x86_64-linux-gnu/blas/libblas.so.3.9.0 LAPACK:/usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.9.0
语言环境:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C LC_TIME=nb_NO.UTF-8 LC_COLLATE=en_US.UTF-8 LC_MONETARY=nb_NO.UTF-8
[6] LC_MESSAGES=en_US.UTF-8 LC_PAPER=nb_NO.UTF-8 LC_NAME=C LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=nb_NO.UTF-8 LC_IDENTIFICATION=C
附加的基础包: [1] stats4 并行统计图形 grDevices utils 数据集方法库
RCurl 版本:1.98-1.3
【问题讨论】:
-
如该线程中所述:stackoverflow.com/questions/16338668/… sys.sleep(0.2) 确实使它更稳定,但它甚至失败了:sys.time(0.5)。在 sys.time(1.0),我还没有设法让它崩溃,将测试一个更大的循环以确保,如果是这种情况,我可以捕获错误,运行 sys.sleep(1.0) 并重试。如果有人有更详细的答案,我仍然想要一些信息。