使用 axios get 获取请求失败,状态码为 403

Mia*_*mad 0 javascript get node.js web-scraping axios

我已经像这样设置了我的 axios:

    const agent = new https.Agent({
        rejectUnauthorized: false
    });
Run Code Online (Sandbox Code Playgroud)

并发送这样的 get 调用:

    let data = await axios.get('https://www.skechers.com/en-us/', {
        httpsAgent: agent
     });
Run Code Online (Sandbox Code Playgroud)

但是对于一些网址,我的请求失败并出现此错误:

请求失败,状态码为 403

导致此错误的可能原因是什么。我试过如下设置标题,但仍然收到错误

    let data = await axios.get('https://www.skechers.com/en-us/', {
        httpsAgent: agent
     });
Run Code Online (Sandbox Code Playgroud)

Ash*_*odi 5

我猜这与您使用 axios 时未发送 CSRF cookie 有关。你可以考虑两种方法

所以你的代码很简单

const got = require("got");

(async () => {
  console.log(await got.get("https://www.skechers.com/en-us/"));
})();
Run Code Online (Sandbox Code Playgroud)