在macOS上使用httr::GET()会产生证书错误。

问题描述 投票:0回答:1

试图访问一个带有 httr 在macOS上运行会产生一个证书错误。

httr::GET("https://unstats.un.org/SDGAPI/v1/sdg/Indicator/List")
#> Error in curl::curl_fetch_memory(url, handle = handle): SSL certificate problem: certificate has expired

然而,在多台 Windows 机器上运行这个程序是成功的,除了安装了 httr 并运行上述代码(应该不需要证书)。是服务器端因为某种原因阻止了访问,还是客户端的问题,我可以调整?我无法在网上找到任何关于一般证书问题的资料,包括 httr 和macOS。

我可以在这台机器上成功访问其他API,使用 httr,所以让我相信这是服务器端的问题,但自己没有足够的经验和知识来完全排除这个问题。

以下是我的会话信息,供参考。谢谢你能提供的任何帮助。

会话信息。

#> R version 4.0.0 (2020-04-24)
#> Platform: x86_64-apple-darwin19.4.0 (64-bit)
#> Running under: macOS Catalina 10.15.4
#> 
#> Matrix products: default
#> BLAS/LAPACK: /usr/local/Cellar/openblas/0.3.9/lib/libopenblasp-r0.3.9.dylib
#> 
#> locale:
#> [1] en_GB.UTF-8/en_GB.UTF-8/en_GB.UTF-8/C/en_GB.UTF-8/en_GB.UTF-8
#> 
#> attached base packages:
#> [1] stats     graphics  grDevices utils     datasets  methods   base     
#> 
#> loaded via a namespace (and not attached):
#>  [1] Rcpp_1.0.4.6    digest_0.6.25   R6_2.4.1        magrittr_1.5   
#>  [5] evaluate_0.14   highr_0.8       httr_1.4.1      rlang_0.4.6    
#>  [9] stringi_1.4.6   curl_4.3        rmarkdown_2.1   tools_4.0.0    
#> [13] stringr_1.4.0   xfun_0.14       yaml_2.2.1      compiler_4.0.0 
#> [17] htmltools_0.4.0 knitr_1.28
r macos httr
1个回答
1
投票

我从昨天开始就遇到了一模一样的问题。查了一下,原来是一个普通的根CA证书在5月30日过期了(看这个) 回答). 一般来说,解决我的错误的方法是强制执行 Curl (它支持 httr 函数)来忽略证书。

set_config(config(ssl_verifypeer = FALSE))
options(RCurlOptions = list(ssl_verifypeer = FALSE))
options(rsconnect.check.certificate = FALSE)

我对服务器问题几乎一无所知 但这对我来说是有效的,所以我希望对你来说也是如此。

© www.soinside.com 2019 - 2024. All rights reserved.