https:getURL()的sslv3警报握手失败
我正在windows上使用R。我没有遇到与一般安全站点通信的问题。我尝试(但失败)通过getURL(url)与特定的安全站点(我的银行)通信。(手动登录此站点没有问题)。以下是“R”代码: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警报握手失败 这是尝
库(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)