在使用 axios 库的时候,希望用 burp 抓包查看发包内容。但关于 axios 设置代理问题,网上提到的一些方法不是好用,摸索了一段时间后总结出设置 burp 代理抓包的方法。

nodejs 中 axios 设置 burp 抓包

根据请求的站点,分为 http 和 https 两个类型。

http

只需要添加 proxy

// http 测试网站: http://www.5icool.org/

import https from "https";
import axios from "axios";

const proxy = {
    protocol: 'http',   // 这里设置协议为 http
    host: '127.0.0.1',
    port: 8080
}


async function test() {
    const res = await axios.post("http://www.5icool.org/", {
        title: 'foo',
        body: 'bar',
        userId: 1,
    }, {
        proxy: proxy   // http 站点,就直接设置  proxy 参数
        headers: {'Content-type': 'application/json; charset=UTF-8'},
    })
    console.log(res.data)

}

await test();



https

要添加 proxy 以及 httpsAgent

// https 测试站点: https://jsonplaceholder.typicode.com/posts

import https from "https";
import axios from "axios";
let httpsAgent = new https.Agent({
    rejectUnauthorized: false,   // 因为是 https over http ,所以需要设置 rejectUnauthorized 为 false
});
const proxy = {
    protocol: 'https',   // 这里要设置 https 
    host: '127.0.0.1',
    port: 8080
}


async function test() {
    const res = await axios.post("https://jsonplaceholder.typicode.com/posts", {
        title: 'foo',
        body: 'bar',
        userId: 1,
    }, {
        httpsAgent: httpsAgent,  // 添加 httpsAgent
        proxy: proxy,   // 添加 proxy
        headers: {'Content-type': 'application/json; charset=UTF-8'},
    })
    console.log(res.data)

}

await test();


点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部