https:getURL()的sslv3警报握手失败

https:getURL()的sslv3警报握手失败,r,ssl,curl,R,Ssl,Curl,我正在windows上使用R。我没有遇到与一般安全站点通信的问题。我尝试(但失败)通过getURL(url)与特定的安全站点(我的银行)通信。(手动登录此站点没有问题)。以下是“R”代码: 库(RCurl);选项(rcurlpoptions=list(cainfo=system.file(“curlsl”、“cacert.pem”、package=“RCurl”)) 网址 错误:14077410:SSL例程:SSL23\u GET\u SERVER\u HELLO:sslv3警报握手失败 这是尝

我正在windows上使用R。我没有遇到与一般安全站点通信的问题。我尝试(但失败)通过getURL(url)与特定的安全站点(我的银行)通信。(手动登录此站点没有问题)。以下是“R”代码:

库(RCurl);选项(rcurlpoptions=list(cainfo=system.file(“curlsl”、“cacert.pem”、package=“RCurl”))
网址
错误:14077410:SSL例程:SSL23\u GET\u SERVER\u HELLO:sslv3警报握手失败

这是尝试使用RC4以外的任何其他密码连接到服务器时收到的消息。此服务器仅支持RC4-SHA和RC4-MD5,这两个版本都被视为已损坏。我猜R在默认情况下禁用了RC4支持。您可以尝试通过将设置为“RC4-SHA”来启用它

具有特定安全站点(我的银行)


我认为你需要质疑你的银行的安全性,如果他们提供的只是一个被认为是坏了的密码。另请参见由于这一点和其他一些安全问题而被评为B级的地方。

谢谢@SteffenUllrich。在我的internet explorer上检查的安全密码是TLS 1.0、1.1和1.2。未选中SSL 2.0和3.0。然而,当我手动(通过对话框)输入用户名和密码时,它就起作用了。对a-work-around有什么建议吗?也许在R中明确指定密码会起作用,请参阅编辑后的文章。非常感谢,因为这是我在另一个问题上突然想到的,这是唯一的答案。我喜欢使用
httr
<代码>带有配置(配置(“ssl密码列表”=“RC4-SHA”),POST(…)
Error in function (type, msg, asError = TRUE)  : 
  error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure

5: fun(structure(list(message = msg, call = sys.call()), class = c(typeName, 
   "GenericCurlError", "error", "condition")))

4: function (type, msg, asError = TRUE) 
   {

   if (!is.character(type)) {
       i = match(type, CURLcodeValues)
       typeName = if (is.na(i)) 
           character()
       else names(CURLcodeValues)[i]
   }
   typeName = gsub("^CURLE_", "", typeName)
   fun = (if (asError) 
       stop
   else warning)
   fun(structure(list(message = msg, call = sys.call()), class = c(typeName, 
       "GenericCurlError", "error", "condition")))
}

(35L, "error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure", TRUE)

3: .Call("R_curl_easy_perform", curl, .opts, isProtected, .encoding, 
   PACKAGE = "RCurl")

2: curlPerform(curl = curl, .opts = opts, .encoding = .encoding)

1: getURL(url)