gpt4 book ai didi

RCurl::getURL 超出最大客户端数量

转载 作者:行者123 更新时间:2023-12-03 00:38:58 26 4
gpt4 key购买 nike

我正在尝试定期列出 MODIS 全局蒸散项目 (MOD16) 的 FTP 服务器上托管的文件。

## required package
library(RCurl)

## ftp server
ch_ftp <- "ftp://ftp.ntsg.umt.edu/pub/MODIS/NTSG_Products/MOD16/MOD16A2.105_MERRAGMAO/"

## list and reformat available subfolders
ch_fls <- getURL(ch_ftp, verbose = TRUE, dirlistonly = TRUE)

ls_fls <- strsplit(ch_fls, "\n")
ch_fls <- unlist(ls_fls)

## list files in current folder
for (i in ch_fls) {

ch_hdf <- paste0(ch_ftp, i)
getURL(ch_hdf, verbose = TRUE, dirlistonly = TRUE)
}

经过一些迭代后,RCurl::getURL 抛出以下错误消息。

< 530 Sorry, the maximum number of clients (5) from your host are already connected.
* Access denied: 530
* Closing connection 16
Show Traceback

Rerun with Debug
Error in function (type, msg, asError = TRUE) : Access denied: 530

显然,RCurl::getURL 在每次迭代期间都会打开与 FTP 服务器的连接,但关闭速度不够快。几分钟后,服务器可以再次访问,但是在重新初始化脚本并等待前几次迭代时,将抛出相同的错误消息。有没有办法在检索文件列表后立即手动关闭由 RCurl::getURL 建立的连接?

最佳答案

我正在处理同样的问题。

使用 Sys.sleep(2) 为我解决了这个问题。

## list files in current folder
for (i in ch_fls) {

ch_hdf <- paste0(ch_ftp, i)
getURL(ch_hdf, verbose = TRUE, dirlistonly = TRUE)
Sys.sleep(2)
}

关于RCurl::getURL 超出最大客户端数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30888215/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com