
단일 파이썬 스크립트로 구현된 HTTP/HTTPS 프록시
단일 Python 스크립트로 작성된 HTTP/HTTPS 프록시
이 스크립트는 Python 2.7에서 작동합니다. HTTPS 연결을 인터셉트하려면 OpenSSL을 설치해야 합니다.
스크립트로 그냥 실행하세요:
$ python proxy2.py
위 명령어는 localhost:8080에서 프록시를 실행합니다. 같은 호스트의 다른 터미널에서 아래 명령어를 입력하여 작동을 확인하세요.
$ http_proxy=localhost:8080 curl http://www.example.com/
proxy2는 디버깅/테스트용으로 만들어졌으므로 localhost의 연결만 허용합니다.
다른 포트를 사용하려면 첫 번째 인자로 포트 번호를 지정하세요.
$ python proxy2.py 3128
HTTPS 연결을 인터셉트하려면 개인 키와 개인 CA 인증서를 생성하세요:
$ ./setup_https_intercept.sh
프록시를 통해 http://proxy2.test/에 접속하여 브라우저에 CA 인증서를 설치할 수 있습니다.
프록시를 쉽게 사용자 정의하고 요청/응답을 수정하거나 파일에 데이터를 저장할 수 있습니다. ProxyRequestHandler 클래스에는 사용자 정의할 수 있는 3가지 메서드가 있습니다:
기본적으로는 save_handler만 구현되어 있으며, HTTP(S) 헤더와 몇 가지 유용한 데이터를 표준 출력으로 출력합니다.