如何从 Web 客户端响应分析编码

本文关键字:响应分析 编码 客户端 Web | 更新日期: 2023-09-27 18:35:27

我得到一个页面的内容类型WebClient.ResponseHeaders。如果我打印它:

client.ResponseHeaders["Content-Type"]

我得到这样的东西:

Content-Type: text/html; charset=UTF-8

所以我想得到它(如果有的话)。否则设置一个默认的。这是我的实际代码:

var KeysParsed = HttpUtility.ParseQueryString(client.ResponseHeaders["Content-Type"].Replace(" ", "").Replace(";", "&"));
var charset = ((KeysParsed["charset"] != null) ? KeysParsed["charset"] : "UTF-8");

我不知道为什么,但它看起来不是那么灵活。您有什么建议?

如何从 Web 客户端响应分析编码

为什么要重新发明轮子?请参阅 System.Net.Mime.ContentType:

var contentType = new ContentType(client.ResponseHeaders["Content-Type"]);
Console.WriteLine("{0} ({1})", contentType.MediaType, contentType.CharSet);
var charset = (contentType.CharSet ?? "UTF-8");

在获得响应后尝试使用 WebClient.Encoding 。请查看 WebClient.Encoding