Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
运行weathercan软件包时出错-致命SSL/TLS警报(例如握手失败))_R_Ssl_Dplyr_Purrr_Handshake - Fatal编程技术网

运行weathercan软件包时出错-致命SSL/TLS警报(例如握手失败))

运行weathercan软件包时出错-致命SSL/TLS警报(例如握手失败)),r,ssl,dplyr,purrr,handshake,R,Ssl,Dplyr,Purrr,Handshake,我正在运行“weathercan”数据包()并在尝试从环境和气候变化历史天气数据网站检索数据时不断出错。我已经重新安装了这个软件包,甚至在从我的系统中删除了所有的R之后,我重新安装了R和RStudio,但是错误仍然存在 当我查找站点时,该包工作正常,例如 车站搜索(coords=c(44.140125,-80.363136),距离=20,间隔=“天”) 我得到: 但每当我试图检索数据时,我都会出错。例如: 站点数据[更新2020-10-17] 该解决方案也已在 它似乎为Windows使用了两个

我正在运行“weathercan”数据包()并在尝试从环境和气候变化历史天气数据网站检索数据时不断出错。我已经重新安装了这个软件包,甚至在从我的系统中删除了所有的R之后,我重新安装了R和RStudio,但是错误仍然存在

当我查找站点时,该包工作正常,例如

车站搜索(coords=c(44.140125,-80.363136),距离=20,间隔=“天”)

我得到:

但每当我试图检索数据时,我都会出错。例如:

站点数据[更新2020-10-17]

该解决方案也已在

它似乎为Windows使用了两个SSL后端:OpenSSL和Windows安全通道。默认情况下,curl使用Windows安全通道,该通道应该是最好的,但没有OpenSSL()的全部功能

我最好的猜测是ECCC服务器上发生了一些变化,需要Windows安全通道未提供的功能。当我强迫我的windows测试平台(AppVeyor)使用OpenSSL时,我没有更多的问题

如果要尝试此操作,必须将以下内容添加到.Renviron文件(在R启动期间加载):

CURL\u SSL\u BACKEND=openssl

如果您不确定如何编辑.Renviron文件,可以使用usethis软件包查找/创建并打开它(之后重新启动R):

免责声明:我不认为这样做有安全缺陷,但我绝对不是一名网络专家


[原答覆]

我是这个软件包的开发者。不幸的是,我有一些细节给你,但不完全是一个解决方案

我一直在努力寻找这个问题的根源。从我所看到的情况来看,这实际上是R和ECCC服务器之间的问题,到目前为止,ECCC服务器似乎只出现在Windows上,但不是每个人都会出现问题(我运行Ubuntu 20.04和Windows 10,无法复制,但Windows 10和8上的其他服务器也遇到了这个问题)

您可以在报告的问题中进行讨论,如下所示:

我们认为这并非严格意义上的weathercan问题的原因是,如果有此问题的用户尝试直接下载ECCC文件,例如

read.csv(“https://climate.weather.gc.ca/climate_data/bulk_data_e.html?format=csv&stationID=51097&timeframe=1&submit=Download%2BData&Year=2020&Month=10“”


他们遇到了类似的问题(并且
read.csv()
是utils软件包中的一个函数)。

你好,LaZerte博士,谢谢您提供的信息。我应该在帖子中补充说,我在办公室电脑(Windows10)上使用了这个软件包,它工作得很好。此错误仅发生在我的笔记本电脑(windows 7)上。我认为问题可能出在我的家庭网络上,所以我通过VPN从家里登录到麦克马斯特的服务器,并得到了与以前相同的错误。是的,在我的办公室电脑上运行你的例子,但在我的笔记本电脑上不行。另一方面,感谢您创建此软件包!浏览ECCC的网站可能是一件痛苦的事。啊,这太令人沮丧了,我不知道为什么有些电脑是好的,有些不是。如果我找到答案,我会在这里发布答案。用可能的解决方案更新答案!
install.packages("usethis")
usethis::edit_r_environ()