본문으로 건너뛰기

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

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

1. 문제​

  • Proxyman에서 다른 요청은 보이지만, 3rd-party 네트워크 라이브러리를 사용하는 웹사이트, NodeJS, iOS, Android 앱의 요청은 보이지 않습니다. 예: fetch, axios, Alamofire, Ktor Apache HttpClient, curl, ...
정보

Mac에서 실행되는 라이브러리가 프록시 설정을 무시한다면 Network Extension을 사용해 보세요. 라이브러리의 프록시 설정을 변경하지 않고도 지원되는 HTTP/HTTPS 트래픽을 캡처합니다. HTTPS의 경우 여전히 인증서 신뢰 설정과 SSL Proxying이 필요합니다.

Network Extension은 BETA이며, macOS 26 이상에서 Proxyman PRO가 필요합니다.

2. 새로운 자동 해결 방법 (v4.7.0 이상) ✅​

Proxyman v4.7.0 이상에서는 클릭 한 번으로 NodeJS, Python, Ruby 스크립트의 HTTP/HTTPS 트래픽을 캡처할 수 있습니다.

  • 클릭 한 번으로 해결: HTTP 프록시를 직접 설정하거나 자체 서명 인증서를 수동으로 신뢰할 필요가 없습니다.
  • NodeJS, Ruby, Python을 지원합니다. 최신 버전에서는 Golang도 지원합니다.

사용 방법​

  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 창

Automatic Setup으로 미리 설정된 Terminal 열기

자세한 내용은 NodeJS, Python, Ruby 스크립트에서 HTTP 트래픽이 보이지 않는 경우를 참고하세요.

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

가능한 방법 목록:

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

더 읽어보기: 프록시를 사용하는 cURL (Stack Overflow)

Axios​

Axios에서 HTTP 프록시를 설정할 수 있습니다. 그러면 모든 트래픽이 Proxyman에 나타납니다.

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 설정 가이드를 참고하세요.

더 알아보기​