我如何检查二进制与文本在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();
    }
}

我如何检查二进制与文本在c#中的HttpWebRequest

一般来说,网站会在Content-Type头中告诉你他们返回的是哪种数据。您可以通过从响应中获取ContentType属性来确定。

但众所周知,网站会撒谎。或者什么也别说。两者我都见过。如果没有Content-Type报头,或者您不想信任它,那么您可以判断数据类型的唯一方法就是读取它。

但是,如果你不相信这个网站,你为什么要从它读取数据呢?