【发布时间】:2021-10-09 07:08:11
【问题描述】:
请考虑这个简单的代码:
private async void button3_Click(object sender, EventArgs e)
{
textBox1.Text = "It begins...";
await DoAsync_Button3();
}
private async Task DoAsync_Button3()
{
HttpClient client = new HttpClient();
HttpResponseMessage response = await client.GetAsync("https://www.stackoverflow.com/");
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();
textBox1.Text = responseBody;
}
和简单的用户界面:
问题是对于某些网站,我得到了一些奇怪的结果。例如:https://www.dotnetperls.com/
我得到了这个结果:
我得到了奇怪的结果,而 StatusCode 是 200。我如何确定问题出在哪里?谢谢
【问题讨论】:
-
这段代码可以通过'using (WebClient client = new WebClient()) { string html = client.DownloadString("example.com"); }'来更简单
-
@viveknuna
WebClient在很久以前就被弃用了,绝对没有理由在新代码中使用它。 docs.microsoft.com/en-us/dotnet/api/… -
查看 dotnetpearls 的内容编码标头值。它向您显示了 Brotli 的
br。这告诉你,响应基本上是一个压缩字节数组。
标签: c# compression httpclient