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?
- 不通过环境变量关闭证书验证, HTTPS 直接代理应该怎样处理?
更多关于Node.js Proxyman代理调试的资料请关注脚本之家其它相关文章!
相关文章
从零开始学习Node.js系列教程之SQLite3和MongoDB用法分析
这篇文章主要介绍了Node.js SQLite3和MongoDB用法,结合实例形式分析了SQLite3和MongoDB数据库的初始化、连接、查询等操作的实现技巧与相关注意事项,需要的朋友可以参考下2017-04-04
node中的__filename和__dirname的使用详解
本文主要介绍了node中的__filename和__dirname的使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2023-03-03
基于 Node 实现简易 serve静态资源服务器的示例详解
静态资源服务器(HTTP 服务器)可以将静态文件(如 js、css、图片)等通过 HTTP 协议展现给客户端。本文介绍如何基于 Node 实现一个简易的静态资源服务器,感兴趣的朋友一起看看吧2022-06-06


最新评论