在 macOS 上使用 httr::GET() 会产生证书错误
Using httr::GET() on macOS produces certificate error
尝试在 macOS 上使用 httr
访问 API 会产生证书错误。
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 的一般证书问题的任何信息。
我可以使用 httr
成功访问这台机器上的其他 API,所以这让我相信这是一个服务器端问题,但没有足够的经验或知识来我自己完全解决了这个问题。
以下是我的会话信息以供参考。感谢您提供的任何帮助。
会话信息:
#> 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
我从昨天开始就遇到了完全相同的问题。查找后,发现一个通用根 CA 证书已于 5 月 30 日过期(请参阅此 )。一般来说,解决我的错误的方法是强制Curl
(支持httr
功能)忽略证书:
set_config(config(ssl_verifypeer = FALSE))
options(RCurlOptions = list(ssl_verifypeer = FALSE))
options(rsconnect.check.certificate = FALSE)
我对服务器问题几乎一无所知。但这对我有用,所以我希望对你也有用!
尝试在 macOS 上使用 httr
访问 API 会产生证书错误。
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 的一般证书问题的任何信息。
我可以使用 httr
成功访问这台机器上的其他 API,所以这让我相信这是一个服务器端问题,但没有足够的经验或知识来我自己完全解决了这个问题。
以下是我的会话信息以供参考。感谢您提供的任何帮助。
会话信息:
#> 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
我从昨天开始就遇到了完全相同的问题。查找后,发现一个通用根 CA 证书已于 5 月 30 日过期(请参阅此 Curl
(支持httr
功能)忽略证书:
set_config(config(ssl_verifypeer = FALSE))
options(RCurlOptions = list(ssl_verifypeer = FALSE))
options(rsconnect.check.certificate = FALSE)
我对服务器问题几乎一无所知。但这对我有用,所以我希望对你也有用!