java - 如何解决雅虎财经API的临时移动错误

标签 java yahoo-finance

我正在处理雅虎股票数据。昨天我使用金融网络服务 API 获取了股票数据。但今天,当我尝试从 api 获取数据时,出现以下错误:

{
   "p": {
      "a": {
         "href": "https://finance.yahoo.com/webservice/v1/symbols/msft,goog,appl,orcl,yhoo,tcs,amzn,INFY.NS/quote?bypass=true&format=json&view=detail",
         "content": "https://finance.yahoo.com/webservice/v1/symbols/msft,goog,appl,orcl,yhoo,tcs,amzn,INFY.NS/quote?bypass=true&format=json&view=detail"
      },
      "content": "Moved Temporarily. Redirecting to"
   }
}

说暂时移动了。
为什么我会收到此错误?我今天达到了 API 限制吗?

注意:
昨天我让它继续运行以测试 API 请求限制。但是当我今天尝试运行时,它显示了上述错误。

如果达到 IP 的 API 限制,那么我什么时候可以再次访问数据?
这是我正在使用的 API:

http://finance.yahoo.com/webservice/v1/symbols/msft,goog,appl,orcl,yhoo,tcs,amzn,INFY.NS/quote?format=json&view=detail

最佳答案

正如此处评论的那样:https://stackoverflow.com/a/38390559/6586718 ,您必须将用户代理更改为移动设备。

在 Java 上,我执行以下操作,并且它有效(这是针对 XML,但同样可以应用于 JSON):

URL url = new URL ("https://finance.yahoo.com/webservice/v1/symbols/" + stocks + "/quote");
HttpURLConnection urlc = (HttpURLConnection) url.openConnection ();
urlc.setRequestProperty ("User-Agent", "Mozilla/5.0 (Linux; Android 6.0; MotoE2(4G-LTE) Build/MPI24.65-39) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.81 Mobile Safari/537.36");
Document xml = DocumentBuilderFactory.newInstance ().newDocumentBuilder ().parse (urlc.getInputStream ());

关于java - 如何解决雅虎财经API的临时移动错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38368100/

相关文章:

mysql - 使用包含不支持格式的文字值的 CSV 数据更新 MySQL 表

java - 如何在 Java 中签署 AWS API 请求(适用于 Android 应用程序)

python - 来自YahooFinance的价格数据错误: TypeError: unsupported type for timedelta seconds component: NoneType

java - 如何为 Spring 的 SimpleMappingExceptionResolver 记录异常堆栈跟踪

java - 为许多按钮实现 ClickHandler 的最佳实践

python - python For循环中跳过错误的方法

java - 使用雅虎财经

python - 沿着时间序列索引连接 pandas DataFrame

java - 如何使用带有嵌入式 Jetty 的 Jersey 2.3 在启动时加载 servlet

java - 写入 Web 日志(文本文件)Java EE