我正在处理雅虎股票数据。昨天我使用金融网络服务 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/