我应该更新什么来解决RCurl SSL版本问题

问题描述

当我运行示例代码

require(RCurl)
search_example <- postForm(
  "https://en.wikipedia.org/w/api.PHP",action  = "opensearch",search  = "Te",format  = "json"
)

我遇到错误

函数错误(类型,msg,asError = TRUE):错误:1407742E:SSL 例程:SSL23_GET_SERVER_HELLO:tlsv1警报协议版本

我知道这不是RCurl本身的问题,而是它正在使用的SSL库的问题-但我究竟应该更新什么?
值得注意的是,utils中的标准方法可以正常工作:

url_https <- "https://en.wikipedia.org/w/api.PHP?action=opensearch&search=Te"
download.file(url_https,tempfile(),method = "libcurl")
download.file(url_https,method = "curl")

我使用的是Windows 10(Pro,64位),R版本3.6.1,RCurl软件包版本1.98-1.2。 RCurl::curlVersion()$ssl_version提供以下内容

$age
[1] 3

$version
[1] "7.40.0"

$vesion_num
[1] 468992

$host
[1] "x86_64-pc-win32"

$features
      ssl      libz      ntlm asynchdns    spnego largefile       idn      sspi 
        4         8        16       128       256       512      1024      2048 

$ssl_version
[1] "OpenSSL/1.0.0o"

$ssl_version_num
[1] 0

$libz_version
[1] "1.2.8"

$protocols
 [1] "dict"   "file"   "ftp"    "ftps"   "gopher" "http"   "https"  "imap"   "imaps"  "ldap"   "pop3"   "pop3s"  "rtmp"   "rtsp"  
[15] "scp"    "sftp"   "smtp"   "smtps"  "telnet" "tftp"  

$ares
[1] ""

$ares_num
[1] 0

$libidn
[1] ""

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)