Python
Proxyman Automatic Setup으로 Python 스크립트와 서버의 HTTP/HTTPS 트래픽을 캡처하세요. requests, http.client, urllib3, httpx, aiohttp와 함께 사용할 수 있습니다.
1. 새로운 자동 설정 방식 (v4.7.0 이상) ✅
Proxyman v4.7.0 이상에서는 클릭 한 번으로 Python의 HTTP/HTTPS 트래픽을 캡처할 수 있습니다.
- 클릭 한 번으로 설정: HTTP 프록시 설정을 직접 하거나 자체 서명 인증서를 수동으로 신뢰할 필요가 없습니다.
- 여러 Python 라이브러리를 지원합니다: requests, http.client, urllib3, httpx, aiohttp
사용 방법:
- Proxyman -> Setup Menu -> Automatic Setup 순서로 엽니다.
- "Open New Terminal"을 클릭합니다.
- 필요한 경우 AppleScript 권한 요청을 허용합니다.
- 새 Terminal 창이 열리면 그곳에서 Python 백엔드 서버를 시작하거나 스크립트를 실행합니다. => Proxyman이 모든 트래픽을 자동으로 캡처합니다.
- 완료 ✅

Proxyman Automatic Setup으로 Python 트래픽 캡처
Automatic Setup 페이지를 확인하세요:
2. 이전 방식 (권장하지 않음) ❌
1. 스크립트 방식
- Python용 인증서를 자동으로 설치하거나 제거하려면 GitHub 이슈 #1220의 이 스크립트를 사용하세요.
- 스크립트를 바탕화면 폴더에
script.py라는 이름으로 저장합니다.
- 인증서 추가:
$ python3 script.py add
- 인증서 제거
$ python3 script.py remove
macOS 12.2 이상에서는 반드시 python3를 사용하세요.
@novitae님께 감사드립니다.
2. 수동 방식
Python 환경에 Proxyman 인증서 설치
macOS의 Python은 기본적으로 Proxyman의 자체 서명 인증서를 신뢰하지 않습니다. 그래서 HTTPS 트래픽을 가로챌 때 SSL 오류가 발생할 수 있습니다.
Python 스크립트의 HTTPS 트래픽을 가로채려면 ~/.proxyman/proxyman-ca.pem에 있는 Proxyman 루트 인증서를 사용하도록 Python에 명시적으로 지정해야 합니다.
최신 Proxyman 버전은 인증서를 ~/Library/Application Support/com.proxyman.NSProxy/app-data/proxyman-ca.pem에 저장합니다. Mac에 ~/.proxyman/proxyman-ca.pem 파일이 없다면 아래 명령어에서 이 경로를 사용하거나, Certificate 메뉴 -> Export -> Root Certificate as PEM에서 인증서를 내보내세요.
다음 순서를 따르세요:
- Mac에 Proxyman 인증서를 설치합니다. 이미 설치했다면 이 단계는 건너뛰세요. 아직이라면 macOS 가이드를 확인하세요.
- Terminal 앱에서 다음 명령어를 실행합니다
$ export SSL_CERT_FILE=~/.proxyman/proxyman-ca.pem
$ export REQUESTS_CA_BUNDLE=~/.proxyman/proxyman-ca.pem
$ echo "export REQUESTS_CA_BUNDLE=~/.proxyman/proxyman-ca.pem" >> ~/.bash_profile ; source ~/.bash_profile
3. 완료.
변경 사항 되돌리기
Proxyman을 사용하지 않는다면 다음 줄을 주석 처리해서 변경 사항을 되돌리세요:
# export REQUESTS_CA_BUNDLE=~/.proxyman/proxyman-ca.pem
위 줄은 ~/.bash_profile에 있습니다.
3. 문제 해결
3.1 Python 코드에서 보내는 HTTP 트래픽을 Proxyman이 캡처하지 못함
해결 방법: Automatic Setup을 사용하세요.
참고 자료
- https://github.com/ProxymanApp/Proxyman/issues/948#issuecomment-890520435
- https://github.com/ProxymanApp/Proxyman/issues/1220