InternetOpenUrl 失败:'A connection with the server could not be established'

InternetOpenUrl failed: 'A connection with the server could not be established'

我遇到了麻烦,试图设置 Github 操作以通过 usethis::use_github_action_check_standard() 检查我的包的构建。该函数尝试从 r-lib repo 中提取 .yaml 文件时失败。我一直在试图弄清楚为什么 readLines() 对我来说失败了。似乎 readLines() 对来自 Github 的任何文件都失败,但对来自其他位置的文件有效。

##
## random .txt file works
##
readLines("https://filesamples.com/samples/document/txt/sample1.txt")
#> Warning in readLines("https://filesamples.com/samples/document/txt/
#> sample1.txt"): incomplete final line found on 'https://filesamples.com/samples/
#> document/txt/sample1.txt'
#> [1] "Utilitatis causa amicitia est quaesita."                                                                                                                                                                                                                                                                                                                   
#> [2] "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Collatio igitur ista te nihil iuvat. Honesta oratio, Socratica, Platonis etiam. Primum in nostrane potestate est, quid meminerimus? Duo Reges: constructio interrete. Quid, si etiam iucunda memoria est praeteritorum malorum? Si quidem, inquit, tollerem, sed relinquo. An nisi populari fama?"
#> [3] ""                                                                                                                                                                                                                                                                                                                                                          
#> [4] "Quamquam id quidem licebit iis existimare, qui legerint. Summum a vobis bonum voluptas dicitur. At hoc in eo M. Refert tamen, quo modo. Quid sequatur, quid repugnet, vident. Iam id ipsum absurdum, maximum malum neglegi."
#
##
## random .yaml file also works (very long, not showing output)
## 
# readLines("https://wg21.link/index.yaml")

##
## .yaml file from github does not work
##
readLines("https://raw.githubusercontent.com/r-lib/actions/master/examples/check-standard.yaml", encoding = "UTF-8")
#> Warning in file(con, "r"): InternetOpenUrl failed: 'A connection with the server
#> could not be established'
#> Error in file(con, "r"): cannot open the connection

##
## .txt file from github does not work
##
readLines("https://raw.githubusercontent.com/neslib/Neslib.Yaml/master/License.txt")
#> Warning in file(con, "r"): InternetOpenUrl failed: 'A connection with the server
#> could not be established'
#> Error in file(con, "r"): cannot open the connection

我已经尝试在 RStudio 选项中选中和取消选中 Use Internet Explorer library/proxy for HTTP,但没有任何效果。

reprex package (v2.0.0)

于 2021-08-05 创建

对于可能遇到此问题的任何其他人 - 我在启用 TLS 1.2 后丢失了 Warning in file(con, "r"): InternetOpenUrl failed: 'A connection with the server could not be established' 警告:

  • 控制面板 > Internet 选项 > 高级选项卡
  • 滚动到安全类别,手动选中使用 TLS 1.2 的选项框

在使用 download.file() 时遇到相同的错误集(如问题中)后找到了此解决方案,其中 Windows 的默认方法是 wininet.dll