相关疑难解决方法(0)

SSL验证导致RCurl和httr中断 - 应该是合法的网站

我正在尝试自动登录英国的数据存档服务.该网站显然值得信赖.不幸的是,RCurlhttr在SSL验证休息.我的网络浏览器不会发出任何警告.我可以通过使用来解决这个问题ssl.verifypeer = FALSE,RCurl但我想了解发生了什么?

# breaks
library(httr)
GET( "https://www.esds.ac.uk/secure/UKDSRegister_start.asp" )

# breaks
library(RCurl)
cert <- system.file("CurlSSL/cacert.pem", package = "RCurl")
getURL("https://www.esds.ac.uk/secure/UKDSRegister_start.asp",cainfo = cert)

# works
library(RCurl)
getURL(
    "https://www.esds.ac.uk/secure/UKDSRegister_start.asp" , 
    .opts = list(ssl.verifypeer = FALSE)
) # note: use list(ssl.verifypeer = FALSE,followlocation=TRUE) to see content
Run Code Online (Sandbox Code Playgroud)

ssl curl r rcurl httr

10
推荐指数
1
解决办法
1万
查看次数

RCurl和自签名证书问题

我在使用RCurl函数getURL访问使用自签名证书的服务器上的HTTPS URL 时遇到问题.我在Mac OS X 10.9.2上运行R 3.0.2.

我已经阅读了有关该主题的常见问题解答卷曲页面.所以这就是我的立场:

  1. 我已将证书的副本保存到磁盘(〜/ cert.pem).
  2. 我已经能够使用这个相同的文件使用python-requests和'verify'选项连接到服务器,并且成功了.
  3. 命令行上的curl似乎忽略了--cacert选项.在使用Mac OS X"Keychain Access"应用程序将证书标记为受信任之后,我成功访问了该网站.
  4. RCurl顽固地拒绝使用以下代码连接到该网站:

    getURL(" https://somesite.tld ",verbose = T,cainfo = normalizePath("〜/ cert.pem"))

这是我得到的输出:

* Adding handle: conn: 0x7f92771b0400
* Adding handle: send: 0
* Adding handle: recv: 0
* Curl_addHandleToPipeline: length: 1
* - Conn 38 (0x7f92771b0400) send_pipe: 1, recv_pipe: 0
* About to connect() to somesite.tld port 443 (#38)
*   Trying 42.42.42.42...
* Connected to somesite.tld (42.42.42.42) port 443 …
Run Code Online (Sandbox Code Playgroud)

macos ssl curl r rcurl

7
推荐指数
1
解决办法
3046
查看次数

quantmod - SSL:无法在 R 中获取本地颁发者证书

I\xe2\x80\x99m 尝试使用quantmodR 中的包从雅虎获取财务数据。它在我的个人笔记本电脑(Mac 和 Win)上完美运行。但我无法让它在我的工作计算机(Win7)上运行。

\n

我的代码是:

\n
getSymbols("JPM", src = "yahoo")\n
Run Code Online (Sandbox Code Playgroud)\n

请注意,它仅不适用于我公司的笔记本电脑。

\n

这是错误代码:

\n
Error in curl::curl_download(cu, tmp, handle = h) : \nSSL certificate problem: unable to get local issuer certificate\n
Run Code Online (Sandbox Code Playgroud)\n

我尝试通过以下方式解决问题:

\n
    \n
  1. 安装httr

    \n
  2. \n
  3. 删除curlquantmod重新安装

    \n
  4. \n
  5. 更新到最新版本的 R、RStudio curl、、、httrRCurlquantmod

    \n
  6. \n
  7. 安装openssl

    \n
  8. \n
  9. ssl_verifypeer = 0L

    \n
  10. \n
  11. 之前添加以下内容getSymbols

    \n

    options(download.file.method = "wget", download.file.extra …

url ssl curl r quantmod

1
推荐指数
1
解决办法
5083
查看次数

标签 统计

curl ×3

r ×3

ssl ×3

rcurl ×2

httr ×1

macos ×1

quantmod ×1

url ×1