在R中调用fromJSON加载NASA数据时超时失败的解决咨询
解决R中fromJSON加载NASA数据超时的问题
你遇到的是网络超时问题——NASA的data.json文件体积较大,默认60秒的读取时限不够,导致连接中断。以下是几个可行的解决办法:
方法1:延长超时时间(推荐)
用httr包自定义请求超时时间,先获取完整响应再解析:
library(httr) library(jsonlite) # 设置300秒(5分钟)超时,可根据网络情况调整时长 response <- GET("https://data.nasa.gov/data.json", timeout(300)) metadata <- fromJSON(content(response, "text"))
方法2:下载到本地再读取
如果网络不稳定,直接把文件下载到本地后加载,避免在线读取的超时风险:
library(jsonlite) # 下载文件到当前工作目录 download.file("https://data.nasa.gov/data.json", "nasa_data.json", mode = "wb") # 从本地文件解析JSON metadata <- fromJSON("nasa_data.json")
方法3:检查网络/代理设置
如果是公司或校园网络有代理限制,先配置R的代理:
# 替换成你的实际代理地址和端口 Sys.setenv(http_proxy="http://your-proxy:port") Sys.setenv(https_proxy="https://your-proxy:port")
配置完成后再尝试原代码或方法1、2的操作。
内容的提问来源于stack exchange,提问作者Wambani Curtis
相关产品推荐
相关产品推荐

