Skip to content

volkovsh/http-proxy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

Лабораторная 4 — HTTP прокси с журналированием

Простой многопоточный прокси-сервер (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

Особенность proxy-URI

Браузер при работе через прокси обычно отправляет запрос в виде:

GET http://host:port/path HTTP/1.1

А сервер назначения часто ожидает:

GET /path HTTP/1.1

Поэтому прокси переписывает request-line из absolute-form в origin-form перед отправкой на upstream.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages