Ruby
使用 Proxyman Automatic Setup 抓取 Ruby 脚本和服务的 HTTP/HTTPS 流量,兼容 http、net/http、net/https、httparty 和 faraday。
1. 全新自动方案(v4.7.0 或更高版本)✅
Proxyman v4.7.0 或更高版本可以一键抓取 Ruby 的 HTTP/HTTPS 流量。
- 一键方案:无需手动设置 HTTP Proxy,也无需手动信任自签名证书。
- 支持多种 Ruby 库:http、net/http、net/https、httparty 和 faraday。
使用方法:
- 打开 Proxyman -> Setup Menu -> Automatic Setup
- 点击 “Open New Terminal”
- 如有需要,请允许 AppleScript 的权限请求
- 会打开一个新的 Terminal 窗口,在其中启动 Ruby 后端服务或运行脚本,Proxyman 会自动抓取所有流量
- 完成 ✅

抓取 Ruby 流量
2. 旧方案(不推荐)
1. 为 Ruby 设置 HTTP Proxy
如果存在 http_proxy 环境变量,Net::HTTP 会自动使用其中的代理。
因此可以这样设置:
ENV['http_proxy'] = 'http://127.0.0.1:9090' # your http://address:port here
这样,Net::HTTP 默认会将所有请求都通过该代理发送。
参考:https://stackoverflow.com/questions/15792999/how-to-set-a-proxy-in-rubys-net-http
2. 在 Ruby 中安装 Proxyman 证书
默认情况下,macOS 上的 Ruby 可能不信任 Proxyman 的自签名证书,因此在拦截 HTTPS 流量时可能会出现 SSL 错误。
你可以通过 SSL_CERT_FILE 环境变量告诉 Ruby 使用 Proxyman 证书。
$ env SSL_CERT_FILE=~/.proxyman/proxyman-ca.pem ruby my_script.rb
信息
较新版本的 Proxyman 将证书存放在 ~/Library/Application Support/com.proxyman.NSProxy/app-data/proxyman-ca.pem。如果你的 Mac 上不存在 ~/.proxyman/proxyman-ca.pem,请改用该路径,或者从 Certificate 菜单 -> Export -> Root Certificate as PEM 导出证书。