我正在尝试在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
Run Code Online (Sandbox Code Playgroud)
编辑1 - 补充说明:
谢谢
目标:尝试找到一种方法让我的程序在同一端口上侦听HTTP和HTTPS.
您不能使用HTTPListener执行此操作.您需要使用TCPListener并根据它是HTTP还是HTTPS来有条件地处理每个响应.
我很确定如果你使用一个HTTPListener用于HTTP 8080而一个用于HTTPS 8443,你应该能够使你的浏览器使用你的app:8080用于HTTP和yourproxy:8443用于HTTPS.Firefox绝对让你这样做.
| 归档时间: |
|
| 查看次数: |
8776 次 |
| 最近记录: |