.NET HttpListener - 设置浏览器代理时,在收听“https://*.8080”时没有流量?

时间:2010-04-15 00:10:26

标签: c# .net ssl https httplistener

后台 - 我可以让HttpListener正常运行HTTP流量。我遇到了HTTPS流量问题。

问题:如何更改下面的代码,以便我的HttpListener实际上可以获取对“https”网址的浏览器请求?

注意 - 目前firefox的代理设置设置为“localhost:8080”,当我在端口8080(“https:// *:8080 /”)上收听流量时,我在firefox中输入了一个HTTPS网址,我没有接到任何交通? (当我只听http并输入正常的http url时,它工作正常)

  _httpListener = new HttpListener();
  _httpListener.Prefixes.Add("https://*:8080/");
  _httpListener.Start();

感谢

3 个答案:

答案 0 :(得分:5)

来自MSDN

  

如果使用创建HttpListener   https,您必须选择一个服务器   该听众的证书。   否则,HttpWebRequest查询   这个HttpListener将会失败   意外关闭连接。

     

您可以配置服务器证书   和其他监听器选项   HttpCfg.exe。看到   http://msdn.microsoft.com/library/default.asp?url=/library/en-us/http/http/httpcfg_exe.asp   更多细节。可执行文件是   随Windows Server 2003一起提供,或   可以从源代码构建   可在Platform SDK中找到。

虽然不确定100%......

答案 1 :(得分:0)

听起来好像Firefox可能没有像您期望的那样代理HTTPS流量。您的HTTPS请求是否实际在浏览器中呈现(即使HTTPListener中没有流量显示)?

确保您的Firefox浏览器设置为将SSL代理到与HTTP相同的位置,否则请确保选中“将此代理用于所有服务器协议”框。

答案 2 :(得分:0)

检查FW设置是否通过该端口。