调用USGS地震目录API的comcathypocsv()函数时遇连接错误求助
解决USGS comcathypocsv()函数的连接错误问题
我之前处理USGS地震数据时也碰到过一模一样的问题!当调用comcathypocsv()尝试获取地震目录DataFrame时,弹出了这个烦人的错误:
comcatdata <- comcathypocsv()
Error in file(con, "r") : cannot open the connection
下面是我亲测有效的解决方法,以及需要注意的细节:
核心解决方案:切换网络连接方式
这个错误大多是因为R默认的网络连接工具和USGS服务器不兼容,尤其是Windows系统下。很多人提到的setInternet2(TRUE)确实能解决,但要注意:在R 3.3.0及以后的版本中,这个函数已经被标记为过时(deprecated)了,官方推荐用options(download.file.method = "wininet")来替代。完整的代码示例:
# 适用于R 3.3.0及以上版本(推荐) options(download.file.method = "wininet") # 如果你用的是更老的R版本,才需要用这个 # setInternet2(TRUE) # 现在再调用函数 comcatdata <- comcathypocsv()额外排查步骤(如果上面的方法没用)
- 检查你的网络是否需要代理,如果需要,得在R里配置代理设置,比如:
Sys.setenv(http_proxy = "http://你的代理地址:端口") Sys.setenv(https_proxy = "https://你的代理地址:端口") - 确认USGS服务器是否可访问:打开命令提示符(Windows)或终端(Mac/Linux),运行
ping earthquake.usgs.gov,看看能不能正常连通。 - 确保你使用的USGS工具包是最新版本,可以用
update.packages("你的包名")更新,或者重新安装一遍:install.packages("你的包名")
- 检查你的网络是否需要代理,如果需要,得在R里配置代理设置,比如:
内容的提问来源于stack exchange,提问作者Conner M.
相关产品推荐
相关产品推荐

