繁体   English   中英

在特定 API URL 上使用 Axios 发出 POST 请求时出现错误 403

[英]Error 403 when making a POST request with Axios on a specific API URL

我在 Nodejs 环境中使用 Axios 来发出获取数据的请求,但是当我使用内容类型为“application/x-www-form-unlencoded”的 POST 请求时,我收到错误 403 的响应。这个 HTTP 请求中的问题?,因为它适用于我的其他工具。 这是我正在做的一个例子:

const axios = require('axios');

(async () => {
  try {

    let res = await axios({
      method: 'post',
      baseURL: 'https://www3.animeflv.net',
      url: '/api/animes/search',
      data: 'value=tokyo',
      headers: { 'User-Agent':'Mozilla/5.0 (X11; Linux x86_64)', 
                 'Content-Type': 'application/x-www-form-urlencoded'}
    })
    
    console.log(`statusCode: ${res.status}`);
    console.log(res.data.data);
  } catch (error) {
    console.error(error.response);
  }
})();

当我执行这个时,API 的响应是这样的: 在此处输入图像描述

另外,当我在 Linux 中使用 curl 命令发出 POST 请求时,响应成功,如下图所示: 在此处输入图像描述

我认为您的代码运行良好,因为如果您查看响应的“数据”部分( console.error(error.response.data); ),您会看到您收到“检查您的浏览器” HTML 网页,浏览器应该已经呈现。

如果您使用 API 客户端,如 Insomnia(Insomnia中请求的屏幕截图),您会得到相同的响应。

也许您必须使用另一个 api,或者生成一个执行curl的 child_process 来发出请求,就像您在命令行上所做的那样。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM