如何从安全的 URL (https) 使用 WebClient.DownloadString?

How can I use WebClient.DownloadString from a secure URL (https)?

我使用的代码是

WebClient webClient = new WebClient();                    
string xmlResult = webClient.DownloadString("https://kat.cr/usearch/ubuntu/?rss=1");

我有点困惑,因为 URL 似乎是通过隧道进入二级页面 kastatic.com:443 然后 kat.cr:443(如果我正确理解 Fiddler)。

服务器证书似乎没有问题,因此添加以下代码没有任何帮助

 ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, sslPolicyErrors) =>
                    {
                        return true;
                    };

我还尝试在 webClient object 上设置用户代理 headers 以防我需要识别为浏览器或其他东西,但我认为我走的路不对.

编辑:我得到的响应是“12a9”,后面有 2 个奇数 ascii 字符(一个问号符号和一个带黑色边框的白色圆圈。

如果您查看 Fiddler 中的 headers,响应为 GZip-encoded(压缩)。请参阅 this answer 了解如何处理此问题,因为 WebClient class.

没有 "quick and easy" 方法