我如何检查二进制与文本在c#中的HttpWebRequest
本文关键字:文本 HttpWebRequest 中的 二进制 何检查 检查 | 更新日期: 2023-09-27 18:10:01
是否有一种方法可以确定c#中HttpWebRequest
的响应是否包含二进制数据与文本?或者我应该使用另一个类或函数来完成这个?
下面是一些示例代码。在阅读StreamReader
之前,我想知道内容是否为文本。
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.someurl.com");
request.Method = WebRequestMethods.Http.Get;
using (WebResponse response = request.GetResponse())
{
// check somewhere in here if the response is binary data and ignore it
using (StreamReader reader = new StreamReader(response.GetResponseStream()))
{
string responseDetails = reader.ReadToEnd().Trim();
}
}
一般来说,网站会在Content-Type头中告诉你他们返回的是哪种数据。您可以通过从响应中获取ContentType
属性来确定。
但众所周知,网站会撒谎。或者什么也别说。两者我都见过。如果没有Content-Type报头,或者您不想信任它,那么您可以判断数据类型的唯一方法就是读取它。
但是,如果你不相信这个网站,你为什么要从它读取数据呢?