Angular 5,httpclient,跨域请求被阻止

标签 angular cors httpclient

我知道有很多类似的问题,但我找不到任何可以解决我的问题的问题。

我想使用他们的 API 访问我的币安账户。

https://github.com/binance-exchange/binance-official-api-docs/blob/master/rest-api.md

这是使用文档中的示例编写的简单函数:

postBinance() {
    const path = 'https://api.binance.com/api/v3/order'
        + '?symbol=LTCBTC&side=BUY&type=LIMIT&timeInForce=GTC&quantity=1&price=0.1&recvWindow=5000&timestamp=1499827319559'
        + '&signature=c8db56825ae71d6d79447849e617115f4a920fa2acdcab2b053c4b2838bd6b71';

    const headers = new HttpHeaders()
        .append('X-MBX-APIKEY', 'vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A')
        .append('Access-Control-Allow-Origin', '*')
        .append('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE')
        .append('Access-Control-Allow-Headers', 'Content-Type');

    const options = {
        headers: headers
    };

    return this.http.post(path, null, options);
}

使用该函数会导致 firefox 和 chrome 出错。 这是来自 Firefox 的错误:

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://api.binance.com/api/v3/order?symbol=LTCBTC&side=BUY&type=LIMIT&timeInForce=GTC&quantity=1&price=0.1&recvWindow=5000&timestamp=1499827319559&signature=c8db56825ae71d6d79447849e617115f4a920fa2acdcab2b053c4b2838bd6b71. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).

这里来自 chrome:

Failed to load https://api.binance.com/api/v3/order?symbol=LTCBTC&side=BUY&type=LIMIT&timeInForce=GTC&quantity=1&price=0.1&recvWindow=5000&timestamp=1499827319559&signature=c8db56825ae71d6d79447849e617115f4a920fa2acdcab2b053c4b2838bd6b71: Response for preflight has invalid HTTP status code 404

我已经为 chrome 安装了扩展程序“Allow-Control-Allow-Origin: *”,但在这种情况下它不起作用。

我能做什么?

最佳答案

确保您是否已添加扩展 CORS 并启用它。供引用:https://www.html5rocks.com/en/tutorials/cors/

  1. 在项目的根目录下创建一个名为 proxy.conf.json 的文件
  2. 将以下内容粘贴到文件中: { “/API”:{ “目标”:“您的 API 网址”, “安全”:假 }
  3. 运行 cmd 为:- ng serve --proxy-config proxy.conf.json

关于Angular 5,httpclient,跨域请求被阻止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48426698/

相关文章:

javascript - AngularJS:使用来自维基百科 API 的 Web 服务

javascript - sails.js 中的主干

html - HttpClient 连接到互联网;打开跟踪文件时出错 : No such file or directory (2)

javascript - 如何使用 Angular 6 从 Iframe 获取数据

javascript - Angular 2 和组件树

angular - 自定义 NgbModal 大小

java - HttpClient 4 静静地卡在 socketRead 上

angular - 如何为 Angular 应用程序设置 Azure Pipeline

具有 ASP.NET API 凭据的 JavaScript XMLHttpRequest

Android - 如何在skydrive中实现REST API的REST GET功能