node.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > node.js > Node.js Proxyman代理调试

Node.js发出请求走Proxyman代理调试tip详解

作者:题叶

这篇文章主要为大家介绍了Node.js发出请求走Proxyman代理调试tip详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

需求

一些情况需要从请求来调试, 所以找了一个方案让 Node.js 请求走代理.

基于 https://stackoverflow.com/a/62174988/883571 验证了这样一个方案:

import proxy from "node-global-proxy";
proxy.setConfig({
  http: "http://localhost:9090",
  https: "http://localhost:9090",
});
proxy.start();

使用 Proxyman

我使用的是 Proxyman, 端口是 9090, 并且提供的是 HTTP 代理, 两个参数都用 http: 地址.
代码用了 import 由于我使用的是 mjs 文件执行.

这个时候直接运行, 发出请求, Node.js 会报错, 证书验证不通过:

cause: Error: unable to verify the first certificate
      at TLSSocket.onConnectSecure (node:_tls_wrap:1539:34)
      at TLSSocket.emit (node:events:513:28)
      at TLSSocket.emit (node:domain:489:12)
      at TLSSocket._finishInit (node:_tls_wrap:953:8)
      at TLSWrap.ssl.onhandshakedone (node:_tls_wrap:734:12) {
    code: 'UNABLE_TO_VERIFY_LEAF_SIGNATURE'
  }

本地开发的时候可以先通过环境变量临时关闭证书验证的行为:

export NODE_TLS_REJECT_UNAUTHORIZED=0

再重新运行脚本时, 会有警告提示, 请求会正常通过:

(node:93084) Warning: Setting the NODE_TLS_REJECT_UNAUTHORIZED environment variable to '0' makes TLS connections and HTTPS requests insecure by disabling certificate verification.

然后在 Proxyman 当中可以开始抓取请求内容了. 这部分不赘述.

其他

未知项,

更多关于Node.js Proxyman代理调试的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文