メインコンテンツまでスキップ

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

使い方:​

  1. Proxyman を開き、Setup メニュー → Automatic Setup を選択します
  2. Open New Terminal をクリックします
  3. 必要に応じて、AppleScript の権限確認を許可します
  4. 新しいターミナルウィンドウが開きます。そこで Ruby のバックエンドサーバーを起動するか、スクリプトを実行してください。Proxyman がすべての通信を自動的にキャプチャします。
  5. 完了 ✅
Open New Terminal ボタンがあり、net/http などの Ruby ライブラリをキャプチャする Proxyman Automatic Setup のウィンドウ

Ruby からの通信をキャプチャ

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 から証明書をエクスポートしてください。

詳細情報​