在R中调用Gurufocus API遇HTTP 404错误的解决咨询
解决Gurufocus API调用HTTP 404错误的方案
问题详情
使用R调用Gurufocus API获取数据时遇到404错误,代码如下:
library(jsonlite) document <- fromJSON("https://api.gurufocus.com/public/user/{your personal token?}/stock/WMT/keyratios"); epv <- document$Valuation$`EPV` cat(epv)
替换个人令牌后触发错误:Error in open.connection(con, "rb") : HTTP error 404
排查与修复步骤
清理令牌占位符残留
确保URL中完全移除了原示例里的{}和?符号,替换为你的真实令牌。正确的URL格式应为:https://api.gurufocus.com/public/user/你的真实令牌/stock/WMT/keyratios核对API端点路径
404错误核心原因是请求路径无效,务必对照Gurufocus官方最新文档确认端点结构。部分版本的API可能调整了路径前缀,比如将/public/user/改为/public/quote/,或者调整了keyratios的位置。验证令牌权限与有效性
检查你的令牌是否有效、是否拥有访问keyratios数据的权限。过期令牌或未订阅对应服务的令牌,可能会返回404而非权限错误。测试网络连通性
在浏览器或curl中直接访问替换令牌后的URL,确认是否能返回JSON数据。如果浏览器也无法访问,可能是网络防火墙、代理拦截,或者API服务器区域限制导致的。用httr包获取详细错误信息
若以上步骤无效,使用httr包调试请求,获取服务器返回的具体错误内容:library(httr) req_url <- "https://api.gurufocus.com/public/user/你的真实令牌/stock/WMT/keyratios" res <- GET(req_url) # 打印状态码和响应内容 cat("状态码:", res$status_code, "\n") cat("响应内容:", content(res, "text"), "\n")服务器返回的文本通常会明确指出错误原因,比如令牌无效、路径错误等。
内容的提问来源于stack exchange,提问作者piravi
相关产品推荐
相关产品推荐

