# 3rd-party 네트워크 라이브러리의 요청이 보이지 않는 경우

> axios, fetch, Alamofire, Ktor, cURL 요청이 Proxyman에 보이지 않나요? Automatic Setup이나 Network Extension을 사용하거나, 라이브러리에서 HTTP 프록시를 설정하세요.

## 1. 문제 {#1-problem}

* Proxyman에서 다른 요청은 보이지만, 3rd-party 네트워크 라이브러리를 사용하는 웹사이트, 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/ko/advanced-features/network-extension)을 사용해 보세요. 라이브러리의 프록시 설정을 변경하지 않고도 지원되는 HTTP/HTTPS 트래픽을 캡처합니다. HTTPS의 경우 여전히 인증서 신뢰 설정과 [SSL Proxying](https://proxyman.com/docs/ko/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. 새 Terminal 창이 열립니다. 해당 창에서 Python 백엔드 서버를 시작하거나 스크립트를 실행하세요. Proxyman이 모든 트래픽을 캡처합니다.
5. 완료 ✅

![Terminal App, Web Browsers, ElectronJS App 섹션이 있는 Proxyman Automatic Setup 창](https://proxyman.com/docs/assets/proxyman-automatic-setup-window.jpg)

_Automatic Setup으로 미리 설정된 Terminal 열기_

자세한 내용은 [NodeJS, Python, Ruby 스크립트에서 HTTP 트래픽이 보이지 않는 경우](https://proxyman.com/docs/ko/troubleshooting/i-could-not-see-any-http-traffic-from-my-nodejs-python-or-ruby-scripts)를 참고하세요.

## 3. 기존 해결 방법 (권장하지 않음 ❌) {#3-old-solution-not-recommended-}

일반적으로는 네트워크 라이브러리가 Proxyman 포트(기본값 9090)를 가리키는 HTTP 프록시를 사용하도록 직접 설정해야 합니다.

가능한 방법 목록:

* 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 프록시를 설정할 수 있습니다. 그러면 모든 트래픽이 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/ko/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)
