我正在尝试从Quandl(https://www.quandl.com/data/YAHOO/MSFT.json)网站获取数据。它适用于所有浏览器和Postman等其他REST客户端。
我的有角度的$ http电话看起来非常简单,我已经尝试了很多有或没有标题的组合。
$http({
url: 'https://www.quandl.com/data/YAHOO/MSFT.json',
method: "GET",
headers: {
"X-Content-Type-Options": "nosniff",
"X-Frame-Options": "SAMEORIGIN",
"X-Rack-CORS": "preflight-hit; no-origin"
}
})
.then(res => {
console.log(res);
});
获得标准错误
XMLHttpRequest无法加载 https://www.quandl.com/data/YAHOO/MSFT.json。对预检的反应 请求未通过访问控制检查:否 '访问控制允许来源'标题出现在请求的上 资源。起源' http://localhost:2992'因此是不允许的 访问。响应的HTTP状态代码为405。
然而,供应商似乎支持CORS http://help.quandl.com/article/280-does-the-quandl-api-support-cross-origin-resource-sharing-cors
有什么想法吗?
由于
答案 0 :(得分:1)
Quandl在通过API请求数据时支持CORS。您尝试使用的URL是数据集的网页。要进行API调用,您需要做的就是找到该数据集的Quandl代码并将其传递给API。
您可以在该页面的右上角找到Quandl代码(在这种情况下为YAHOO / MSFT)。因此,针对您的请求的相应API调用将是https://www.quandl.com/api/v3/datasets/YAHOO/MSFT.json。
您可以在此处查看有关使用Quandl API的完整文档:https://www.quandl.com/docs/api。
答案 1 :(得分:0)
您是否检查过是否使用了正确的网址? Quandl为其API提供了不同的URL。见Quandl - How do I download a dataset using the API
您的网址应为:https://www.quandl.com/api/v3/datasets/YAHOO/MSFT-MSFT-Microsoft-Corporation.json