【发布时间】:2017-05-08 08:39:12
【问题描述】:
我一直在使用 curl(在 R 中)的 getURL 来读取 https://fantasy.premierleague.com/drf/bootstrap-static
示例代码:
print(getURL("https://fantasy.premierleague.com/drf/bootstrap-static"))
直到几天前都没问题。但现在得到错误:
Error in function (type, msg, asError = TRUE) : error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version
已升级到最新的 R (3.4.0) 和 curl 包:RCurl_1.95-4.8
我有一个解决方法(使用来自 httr 的 GET),但谁能帮我让它与 getURL 一起使用?
我相信服务器的变化是他们现在只支持 TLS 1.2。我尝试了以下方法来修复,但现在出现新错误。可能与需要更新的 OpenSSL 有关吗?
CURL_SSLVERSION_TLSv1_2 <- 6L
opt <- RCurl::curlOptions(verbose = TRUE, sslversion =
CURL_SSLVERSION_TLSv1_2)
print( RCurl::getURL("https://fantasy.premierleague.com/drf/bootstrap-static", .opts = opt))
新的错误是:
Unsupported SSL protocol version
【问题讨论】:
-
我有理由确定需要使用 OpenSSL 1.0.1 重新构建 Rcurl 以支持 TLS 1.2。我已将其报告为错误。同时 httr 函数似乎还可以。