gpt4 book ai didi

r - 从远程 Linux 服务器上的 R 调用 Companies House API 时出现 SSL 连接错误

转载 作者:太空宇宙 更新时间:2023-11-03 13:37:03 24 4
gpt4 key购买 nike

我想在运行 Ubuntu 14.04 LTS 的远程 Linux 服务器上的 R 中调用 Companies House API。我从终端启动 R,并使用“httr”包并发出以下 GET 请求(使用“Paul+Dodd”作为示例搜索词):

call <- GET("https://api.companieshouse.gov.uk/search/companies?q=Paul+Dodd&items_per_page=50&start_index=1", authenticate("API_KEY_HERE", ""))

您可以在此处申请 Companies House API key 并获取有关 API 的更多信息: https://developer.companieshouse.gov.uk/api/docs/index.html

API 调用的响应应该是公司信息的复杂列表。

但是我收到以下错误:

curl::curl_fetch_memory(url, handle = handle) 错误: SSL 连接错误

我试过 set_config( config( ssl_verifypeer = 0L ) ),它偶尔会给出正确的响应对象,但通常会给出上面的 SSL 错误或以下错误:

接收对端数据失败

在我的 Windows 桌面(运行 Windows 7)和我的 Mac 上运行 R 时,上述 API 调用有效。 API 调用适用于多个 IP 地址。

我已经在远程服务器上安装了以下依赖,并且升级更新了,但是错误依旧:

sudo apt-get upgrade
sudo apt-get update
sudo apt-get install libcurl4-openssl-dev
sudo apt-get install libssl-dev

最后,当我退出 R 并在远程服务器的终端中运行 API 调用时,我得到了正确的响应。我使用的命令如下:

curl -u"API_KEY_HERE": https://api.companieshouse.gov.uk/search/companies?q=Paul+Dodd&items_per_page=50&start_index=1

我怀疑 R 中的 SSL 连接错误可能是 CA 证书的问题,但我对 SSL 的了解有限。关于如何解决此问题以便我可以使用 httr 从 R 中调用 API,您有什么建议吗?

最佳答案

经过反复试验,我发现安装以下软件包:jsonlite、mime、curl (≥ 0.9.1)、openssl (≥ 0.8)、R6 使用:

install.packages("package_name")

解决了这个问题。

关于r - 从远程 Linux 服务器上的 R 调用 Companies House API 时出现 SSL 连接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36620824/

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