В настоящее время я пытаюсь написать прокси в C #, используя файл хоста для перенаправления запросов (конкретный запрос). Я хочу, чтобы он перехватывал только один адрес.
Это на Windows, и прокси-сервер запускается локально на компьютере.
Игнорируя все остальные прокси-компоненты, можно сказать, что я просто пытаюсь получить заголовки HTTP первого запроса.
Для HTTP-запроса я настроил прокси на 127.0.0.1:80 и поместил 127.0.0.1 [foo.com] в файл хоста.
Откройте браузер, перейдите по адресу http://foo.com/, и я получу запрос и отобразлю его.
"GET foo.com/ HTTP/ 1.1" и т.д. И т.д.
Теперь, если я:
Для запроса HTTPS я настроил прокси на 127.0.0.1:443 и поместил 127.0.0.1 [foo.com] в файл хоста.
Откройте браузер, перейдите по адресу https://foo.com/, и я получу запрос и отобразлю его.
Я ожидал "ПОДКЛЮЧИТЬ ...... и т.д.", Но на самом деле я получаю только символы мусора.
Если использовать тот же прокси, установленный на 127.0.0.1:8080, и указать его в настройках прокси браузера, я вижу правильные заголовки HTTPS, которые я ожидал.
Почему файл хоста портит заголовки запроса HTTPS?