我正在尝试在C#项目中使用.NET HttpListener。当我注册前缀"http://*:8080/"时,它似乎无法处理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 - 额外澄清:
- 该程序作为本地代理,用于PC应用程序发出的HTTP(S)调用。
- 因此,使用基于更改浏览器代理设置来指向此本地自制代理服务器(例如localhost:8080)的方法。
- 这意味着(我假设)HttpListener必须在同一本地端口(例如8080)上同时监听HTTP和HTTPS流量。
- 目标:尝试找到一种方法使我的程序在同一端口上监听HTTP和HTTPS。
谢谢