RStudio中readLines()读取HTTPS链接遇SSL连接错误求助
解决readLines()的SSL连接错误
针对你遇到的SSL连接错误,这里提供几种可行的解决方法:
方法1:用httr包替代base函数(推荐)
你已经加载了httr包,它对HTTPS连接的处理更稳定,能自动处理证书验证和重定向:
library(httr) # 发送GET请求 resp <- GET("https://biostat.jhsph.edu/~jleek/contact.html") # 获取文本内容 html_text <- content(resp, "text") # 如需按行拆分,用strsplit转换为行向量 html_lines <- strsplit(html_text, "\n")[[1]]
方法2:配置SSL证书路径
Windows环境下,base包的url()可能找不到正确的SSL证书,可借用httr包自带的证书文件:
# 设置环境变量指定证书路径 Sys.setenv(CURL_CA_BUNDLE = system.file("CurlSSL", "cacert.pem", package = "httr")) # 重新运行原代码 con <- url("https://biostat.jhsph.edu/~jleek/contact.html") htmlCode <- readLines(con) close(con)
方法3:更新R及相关包
你的R版本为4.2.3,较旧版本的SSL支持可能存在兼容性问题。更新到最新版R(如4.4.x),并同步更新所有已安装的包,大概率能解决底层的SSL连接问题。
方法4:临时禁用SSL验证(仅测试用)
如果只是临时测试,可跳过证书验证,但此方法存在安全风险,不建议生产环境使用:
con <- url("https://biostat.jhsph.edu/~jleek/contact.html", ssl.verifypeer = FALSE) htmlCode <- readLines(con) close(con)
内容的提问来源于stack exchange,提问作者Clifton Bell
相关产品推荐
相关产品推荐

