node终端使用Charles抓包

无论时windows上的Fiddler、还是Mac上的Charles都可谓是抓包神奇,我们通常用它来抓取手机、网页甚至是模拟器的请求。但是在前端开发中,还有一种很普遍的场景,那就是node命令行的请求。在做node开发中,我们除了用侵入代码的方式来代理网络请求,我们更希望的是使用Charles这样的抓包工具来处理,今天的小技巧就是node终端的请求使用Charles进行抓包。

具体操作步骤如下:

  1. 打开Charles

  2. 终端上执行:

    1
    2
    3
    export http_proxy=http://proxyAddress:port
    export https_proxy=https://proxyAddress:port

    proxyAddress: 本地IP 通常127.0.0.1就可以了
    port:Charles代理端口 通常为 8888 ,具体可以前往Charles Proxy -> Proxy Settings -> HTTP Proxy 里面设置并开启

  3. node启动项目

  4. 访问node项目:
    第一次访问时,Charles会有一个提示框,允许就好了

  5. Charles正常抓包

注意:

export http_proxy 设置的时候需要加上协议,如果忽略掉http 很有可能导致node终端无法正常发出网络请求。

~取消终端代理命令:

1
2
3
unset http_proxy
或者
unset https_proxy

~通过export http_proxy把终端代理端口设置为shadowsocks的代理端口就可以实现终端翻墙,这时候npm安装模块时应该会快一点点。

~可以把 export http_proxy 加入到.bash_profile永久设置代理。