Я пытаюсь использовать .NET HttpListener в проекте C #. Когда я регистрирую свой префикс "http://*:8080/", кажется, что он не работает для URL-адресов HTTPS (то есть не забирает их). Когда я пытаюсь следующий код зарегистрировать обе версии префикса HTTP и HTTPS, я получаю сообщение об ошибке :
"Не удалось прослушать префикс" https://:8080/', поскольку он конфликтует с существующей регистрацией на компьютере. "*
Как заставить мой префикс работать как для HTTP, так и для HTTPS?
private HttpListener _listener;
// Create prefixes
var prefixes = new List<string>();
prefixes.Add("http://*:8080/");
prefixes.Add("https://*:8080/");
// Create HttpListener
_listener = new HttpListener();
foreach (string prefix in prefixes)
{
_listener.Prefixes.Add(prefix);
}
_listener.Start(); // <== ERROR HERE
РЕДАКТИРОВАТЬ 1 - Дополнительные разъяснения:
- Программа работает в качестве локального прокси-сервера для приложений ПК, выполняющих вызовы HTTP (S).
- Таким образом, использование основано на изменении настроек прокси-сервера браузера для указания на этот локальный домашний прокси-сервер (например, localhost: 8080)
- Следовательно, это подразумевает (я предполагаю), что HttpListener должен прослушивать как HTTP, так и HTTPS-трафик на одном и том же локальном порту (например, 8080).
- ЦЕЛЬ: Попробуйте найти способ для моей программы прослушивать HTTP и HTTPS на одном и том же порту .
спасибо