get_osm osmar (R) 中的函数给出 SSL 错误
get_osm function in osmar (R) gives SSL error
从几个月前开始下面的代码运行没有错误
library(osmar)
src <- osmsource_api(url = "https://api.openstreetmap.org/api/0.6/")
bb <- corner_bbox(13.3,40.79,13.5,40.81)
ua <- get_osm(bb, source = src)
现在它给我以下错误
“函数错误(类型、消息、asError = TRUE):error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 警报协议版本”
我没看懂这个问题。
我尝试 运行 使用另外两台具有不同版本(较旧)R 的计算机来编写代码,但它仍然无法正常工作。
有人有可能的解决方案吗?
提前致谢
我遇到了同样的问题。详细地说,OSMAR 包使用包 RCurl 来加载内容,该内容以某种方式使用了旧的加密标准。
您可以通过稍作修改构建您的“自己的”OSMAR 程序包来解决此问题。
- 正在从 CRAN 下载原始包源:https://cran.r-project.org/web/packages/osmar/index.html
- 解压
- 在文件夹 osmar 中创建一个 R 项目文件,例如通过使用 RStudio 并单击新建项目
- 转到 NAMESPACE 文件并添加行
import(curl)
- 在文件R\get.R
中添加包
#' @import RCurl
#' @import XML
#' @import gtools
#' @import methods
#' @import Curl
- 并用 curl 包 curl 中的 getURL 方法与 RCurl 方法进行交换=18=]卷曲
get_osm_data.api <- function(source, what, ...) {
request <- osm_request(source, what, ...)
#response <- getURL(request, .encoding = "UTF-8")
response <- paste(readLines(curl::curl(request)), collapse = "")
}
- 您终于可以构建包了。重新启动 RStudio/您的 R 环境以使用它。
这对我有帮助。
最佳安德烈亚斯·魏格特
从几个月前开始下面的代码运行没有错误
library(osmar)
src <- osmsource_api(url = "https://api.openstreetmap.org/api/0.6/")
bb <- corner_bbox(13.3,40.79,13.5,40.81)
ua <- get_osm(bb, source = src)
现在它给我以下错误
“函数错误(类型、消息、asError = TRUE):error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 警报协议版本”
我没看懂这个问题。 我尝试 运行 使用另外两台具有不同版本(较旧)R 的计算机来编写代码,但它仍然无法正常工作。
有人有可能的解决方案吗?
提前致谢
我遇到了同样的问题。详细地说,OSMAR 包使用包 RCurl 来加载内容,该内容以某种方式使用了旧的加密标准。 您可以通过稍作修改构建您的“自己的”OSMAR 程序包来解决此问题。
- 正在从 CRAN 下载原始包源:https://cran.r-project.org/web/packages/osmar/index.html
- 解压
- 在文件夹 osmar 中创建一个 R 项目文件,例如通过使用 RStudio 并单击新建项目
- 转到 NAMESPACE 文件并添加行
import(curl)
- 在文件R\get.R 中添加包
#' @import RCurl
#' @import XML
#' @import gtools
#' @import methods
#' @import Curl
- 并用 curl 包 curl 中的 getURL 方法与 RCurl 方法进行交换=18=]卷曲
get_osm_data.api <- function(source, what, ...) {
request <- osm_request(source, what, ...)
#response <- getURL(request, .encoding = "UTF-8")
response <- paste(readLines(curl::curl(request)), collapse = "")
}
- 您终于可以构建包了。重新启动 RStudio/您的 R 环境以使用它。
这对我有帮助。 最佳安德烈亚斯·魏格特