# サードパーティ製ネットワークライブラリのリクエストが Proxyman に表示されない

> axios、fetch、Alamofire、Ktor、cURL からのリクエストが Proxyman に表示されませんか？ Automatic Setup や Network Extension を使うか、ライブラリで HTTP プロキシを設定してください。

## 1. 問題 {#1-problem}

* Proxyman には他のリクエストは表示されますが、サードパーティ製のネットワークライブラリを使用する Web サイト、NodeJS、iOS、Android アプリからのリクエストは表示されません。対象は、[fetch](https://github.com/github/fetch)、[axios](https://github.com/axios/axios)、[Alamofire](https://github.com/Alamofire/Alamofire)、[Ktor Apache HttpClient](https://ktor.io)、curl などです。

> **備考:** Mac で動作するライブラリがプロキシ設定を無視する場合は、[Network Extension](https://proxyman.com/docs/ja/advanced-features/network-extension) をお試しください。ライブラリのプロキシ設定を変更せずに、対応している HTTP/HTTPS 通信をキャプチャできます。HTTPS の場合は、引き続き証明書の信頼と [SSL Proxying](https://proxyman.com/docs/ja/basic-features/ssl-proxying) の設定が必要です。
>
> Network Extension は BETA 版で、macOS 26 以降で Proxyman PRO が必要です。

## 2. 新しい自動解決策（v4.7.0 以降）✅ {#2-new-automatic-solution-v470-or-later-}

Proxyman v4.7.0 以降では、NodeJS、Python、Ruby のスクリプトの HTTP/HTTPS 通信を、ワンクリックでキャプチャできます。

* ワンクリックで設定できます。HTTP プロキシの設定や、自己署名証明書を手動で信頼する必要もありません。
* NodeJS、Ruby、Python に対応しています。新しいバージョンでは Golang にも対応しています。

### 使い方 {#how-to-use}

1. Proxyman -> **Setup** メニュー -> **Automatic Setup…** を開きます。
2. **Open New Terminal…** をクリックします。
3. 必要に応じて、AppleScript の許可ダイアログで許可します。
4. 新しいターミナルのウィンドウが開きます。そのウィンドウで Python のバックエンドサーバーを起動するか、スクリプトを実行してください。Proxyman がそれらすべての通信をキャプチャします。
5. 完了 ✅

![Terminal App、Web Browsers、ElectronJS App のセクションがある Proxyman の Automatic Setup ウィンドウ](https://proxyman.com/docs/assets/proxyman-automatic-setup-window.jpg)

_Automatic Setup で設定済みのターミナルを開く_

詳しくは、[NodeJS、Python、Ruby のスクリプトの HTTP 通信が見えない場合](https://proxyman.com/docs/ja/troubleshooting/i-could-not-see-any-http-traffic-from-my-nodejs-python-or-ruby-scripts)をご覧ください。

## 3. 従来の解決策（非推奨 ❌） {#3-old-solution-not-recommended-}

一般的には、ネットワークライブラリで HTTP プロキシを設定し、Proxyman のポート（デフォルトは 9090）を指定する必要があります。

考えられる解決策は次のとおりです：

* Fetch：[Fetch API で Fiddler のようなプロキシを使う（Stack Overflow）](https://stackoverflow.com/questions/44524236/using-proxy-like-fiddler-with-fetch-api)
* cURL：_--proxy_ フラグを使用します。例：

```
$ curl -v "https://httpbin.org/get?id=123" --proxy localhost:9090
```

詳しくは、[プロキシを使う cURL（Stack Overflow）](https://stackoverflow.com/a/9445516/3127477)をご覧ください。

* Ktor：[Ktor クライアントのプロキシに関するドキュメント](https://ktor.io/docs/client-proxy.html)
* Alamofire：[プロキシを使う Alamofire（Stack Overflow）](https://stackoverflow.com/a/42754358/3127477)

### Axios {#axios}

Axios で HTTP プロキシを設定できます。設定すると、Axios のすべての通信が Proxyman に表示されます。

```javascript
axios.get({
  url: '/v1/user/data',

  // 'proxy' defines the hostname and port of the proxy server
  // Use `false` to disable proxies, ignoring environment variables.
  // `auth` indicates that HTTP Basic auth should be used to connect to the proxy, and
  // supplies credentials.
  // This will set an `Proxy-Authorization` header, overwriting any existing
  // `Proxy-Authorization` custom headers you have set using `headers`.
  proxy: {
    host: '127.0.0.1',
    port: 9090
  }
});
```

Proxyman はデフォルトでポート 9090 を待ち受けます。Mac の IP アドレスとポートを確認するには、[iOS のセットアップガイド](https://proxyman.com/docs/ja/debug-devices/ios-device#ios-setup-guide)をご覧ください。

## 詳細情報 {#learn-more}

* [NodeJS の Axios から HTTP/HTTPS リクエストをキャプチャする](https://proxyman.com/posts/2023-05-14-Capture-HTTP-HTTPS-Request-From-Axios-NodeJS)
