axios CORS请求通过代理

时间:2017-02-14 10:48:16

标签: javascript rest proxy cors axios

我需要使用axios库发出GET请求。这是非常基础的:有一个服务器暴露REST API,我需要从我的公司网络访问它。我有这样的代码:

var axios = require('axios');

axios.get('http://rest-api-address-ip/plain-api/items?username=admin', {
  timeout: 30000,
  proxy: {
    host: 'my-proxy.net',
    port: 82,
  },
}).then(function(response) {
  console.log(response);
})
.catch(function (error) {
  console.log(error);
});

当我尝试使用我的网络浏览器访问“http://rest-api-address-ip/plain-api/items?username=admin”时,它可以运行 - 我从REST API获得响应,但是当我运行我的JavaScript文件时它不起作用:

PS D:\workspace\axios-test> node .\index.js
{ [Error: timeout of 30000ms exceeded]
  config:
   { adapter: [Function: httpAdapter],
     transformRequest: { '0': [Function: transformRequest] },
     transformResponse: { '0': [Function: transformResponse] },
     timeout: 30000,
     xsrfCookieName: 'XSRF-TOKEN',
     xsrfHeaderName: 'X-XSRF-TOKEN',
     maxContentLength: -1,
     validateStatus: [Function: validateStatus],
     headers:
      { Accept: 'application/json, text/plain, */*',
        'Access-Control-Allow-Origin': '*',
        'User-Agent': 'axios/0.15.3',
        host: 'rest-api-address-ip' },
     method: 'get',
     proxy: { host: 'my-proxy.net', port: 82 },
     url: 'http://rest-api-address-ip/plain-api/items?username=admin',
     data: undefined },
  code: 'ECONNABORTED',
  response: undefined }

在我的浏览器中,我有完全相同的代理设置。我知道这个REST API允许CORS请求。可能是什么问题?

0 个答案:

没有答案