我正在尝试使用 C# 实现 HTTPS 代理。代理应仅支持 HTTPS,而不支持 HTTP。据我所知,HTTPListener 不是一个好的选择,因为您需要 SSL 证书才能支持 HTTPS,而代理通常不提供该证书。
\n\n我正在使用 TcpListener 和 TcpClients。这是我到目前为止得到的代码:
\n\n protected void HandleTCPRequest(object clientObject)\n {\n TcpClient inClient = clientObject as TcpClient;\n TcpClient outClient = null;\n\n try\n {\n NetworkStream clientStream = inClient.GetStream();\n StreamReader clientReader = new StreamReader(clientStream);\n StreamWriter clientWriter = new StreamWriter(clientStream);\n\n // Read initial request.\n List<String> connectRequest = new List<string>();\n string line;\n while (!String.IsNullOrEmpty(line = clientReader.ReadLine()))\n {\n connectRequest.Add(line);\n }\n if (connectRequest.Count == 0)\n {\n return;\n }\n\n string[] requestLine0Split = connectRequest[0].Split(\' \');\n if (requestLine0Split.Length …Run Code Online (Sandbox Code Playgroud)