我得到一个页面的内容类型WebClient.ResponseHeaders
.如果我打印它:
client.ResponseHeaders["Content-Type"]
Run Code Online (Sandbox Code Playgroud)
我得到的东西像:
Content-Type: text/html; charset=UTF-8
Run Code Online (Sandbox Code Playgroud)
所以我想得到它(如果有的话).否则设置默认值.这是我的实际代码:
var KeysParsed = HttpUtility.ParseQueryString(client.ResponseHeaders["Content-Type"].Replace(" ", "").Replace(";", "&"));
var charset = ((KeysParsed["charset"] != null) ? KeysParsed["charset"] : "UTF-8");
Run Code Online (Sandbox Code Playgroud)
我不知道为什么,但它看起来不那么灵活.你能提出什么建议?
Gen*_*ene 13
为什么重新发明轮子?请参见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");
Run Code Online (Sandbox Code Playgroud)