Простой многопоточный прокси-сервер (HTTP over TCP), который:
- принимает HTTP-запросы от браузера;
- логирует в консоль URL и код ответа;
- проксирует данные потоково (подходит для долгих ответов вроде онлайн-радио);
- HTTPS не поддерживается (CONNECT вернёт
501 Not Implemented).
python3 http_proxy.py --listen-host 0.0.0.0 --listen-port 8080Включи ручной прокси для HTTP:
- HTTP proxy: IP компьютера, где запущен прокси (например,
192.168.1.10) - Port:
8080
HTTPS можно не настраивать (и лучше выключить, чтобы браузер не пытался ходить через CONNECT).
Открой в браузере:
http://example.com/http://live.legendy.by:8000/legendyfm
В консоли появятся строки вида:
[20:34:12] 127.0.0.1:53122 -> http://example.com:80/ => 200
Браузер при работе через прокси обычно отправляет запрос в виде:
GET http://host:port/path HTTP/1.1
А сервер назначения часто ожидает:
GET /path HTTP/1.1
Поэтому прокси переписывает request-line из absolute-form в origin-form перед отправкой на upstream.