背景 - 我可以讓HttpListener正常工作以處理HTTP流量。但是,我遇到了HTTPS流量問題。.NET HttpListener - 在設置瀏覽器代理時收聽「https://*.8080」時沒有流量?
問題:如何更改下面的代碼,以便我的HttpListener實際提取到「https」URL的瀏覽器請求?
備註 - 目前,當我在端口8080(「https:// *:8080 /」)上監聽流量時,將firefox的代理設置設置爲「localhost:8080」,並且我輸入HTTPS url火狐,我沒有得到流量被拾起? (當我只想聽http和進入正常的HTTP URL的正常工作)
_httpListener = new HttpListener();
_httpListener.Prefixes.Add("https://*:8080/");
_httpListener.Start();
感謝
有趣 - 我真的只想獲得請求,然後將其「複製」到新的請求(本身充當代理)。任何人都能確認/否認邁克爾的想法? – Greg 2010-04-15 00:30:10
這不像在http中那麼簡單。您的客戶端(瀏覽器)將使用443端口建立與服務器的連接,然後檢索證書信息。請求將如下所示:CONNECT localorglobal.com:443 HTTP/1.0。然後,服務器將以HTTP/1.0 200響應建立連接,並在客戶端和服務器之間傳輸二進制加密數據。 – Pablo 2010-04-15 01:21:01
Oh..ok..So可以單獨監聽端口443的HttpListener處理這個問題嗎?這似乎是你建立的聽衆需要知道如何處理證書等,或者HttpListener會爲你做這件事嗎?換句話說,.NET C#代碼中最簡單的方法是模擬web服務器通常處理SSL設置階段的過程。 – Greg 2010-04-15 01:27:17