curl::curl_fetch_memory(x$url$url, handle = x$url$handle) 中的错误:HTTP/2 流在基础流结束之前未完全关闭

Error in curl::curl_fetch_memory(x$url$url, handle = x$url$handle) : HTTP/2 stream was not closed cleanly before end of the underlying stream

提问人:TFA 提问时间:6/20/2023 最后编辑:PhilTFA 更新时间:6/20/2023 访问量:99

问:

当我使用 rgbif 包中的 occ_search() 和 occ_download() 函数时,会出现问题。然而,该错误并非始终可重现,因此很难确定确切原因。

为了提供一些上下文,我在循环中运行 occ_search() 函数,该循环遍历特定国家/地区的物种列表。该循环旨在收集每个物种的发生数据,如下例所示,以供参考

species<- c("Abietinella abietina",  
"Acaulon casasianum",    
"Acaulon dertosense",   
"Acaulon fontiquerianum",
"Acaulon mediterraneum")
DK <- c(1, 0, 0, 0, 0)
FO <- c(0, 0, 0, 0, 0)
FI <- c(1, 0, 0, 0, 0)
IS <- c(1, 0, 0, 0, 0)
NO <- c(1, 0, 0, 0, 1)

moss_occ <- data.frame(species, DK, FO, FI, IS, NO)
species_occurrences<- list()
for (i in 2:6) {
  country <-colnames(moss_occ)[i]
  occurrence <- occ_search(scientificName = moss_occ$species[which(moss_occ[[i]] == 1)], hasCoordinate = TRUE, 
                           country = colnames(moss_occ)[[i]], limit = 300)
  species_occurrences[[i]] <- occurrence

这工作正常,但是当我尝试使用更长的物种列表运行它时,我发现错误:


Error in curl::curl_fetch_memory(x$url$url, handle = x$url$handle) : HTTP/2 stream was not closed cleanly before end of the underlying stream

虽然在大多数情况下,数据集较小,但它有效,但即使是一个物种,我也遇到了同样的错误。连接性可能是一个潜在的问题,但即使我连接到稳定的互联网连接,也会发生错误。

在这一点上,我相当确定问题在我这边,但我不知道如何识别和纠正它,其他关于类似问题的帖子也无济于事。

欢迎任何关于可能导致它的原因以及如何解决它的想法或建议。谢谢

会议信息:

R version 4.3.0 (2023-04-21)
Platform: aarch64-apple-darwin20 (64-bit)
Running under: macOS Ventura 13.4
attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     
other attached packages:
 [1] lubridate_1.9.2 forcats_1.0.0   stringr_1.5.0   dplyr_1.1.2     purrr_1.0.1     readr_2.1.4    
 [7] tidyr_1.3.0     tibble_3.2.1    ggplot2_3.4.2   tidyverse_2.0.0 rgbif_3.7.7   
r rcurl

评论


答: 暂无答案