Как получить тип контента веб-адреса?

Я хочу получить тип веб-адреса. Например, это HTML-страница и ее тип страницы text/html но тип этогоtext/xml, Тип этой страницы, кажется, image/png но это text/html,

Я хочу знать, как я могу определить тип содержимого веб-адреса, как это?

5 ответов

Решение

Должно быть что-то вроде этого

    var request = HttpWebRequest.Create("http://www.google.com") as HttpWebRequest;
    if (request != null)
    {
        var response = request.GetResponse() as HttpWebResponse;

        string contentType = "";

        if (response != null)
            contentType = response.ContentType;
    }

Заголовок HTTP-ответа: content-type

Для более подробного ответа, пожалуйста, предоставьте более подробный вопрос.

Вы можете обнаружить Content-Type заголовком Http ответа, для http://bayanbox.ir/user/ahmadalli/images/div.png заголовок

Connection:keep-alive
Content-Encoding:gzip
Content-Type:text/html; charset=utf-8
Date:Tue, 14 Aug 2012 03:01:41 GMT
Server:bws
Transfer-Encoding:chunked
Vary:Accept-Encoding
using (MyClient client = new MyClient())
    {
        client.HeadOnly = true;
        string uri = "http://www.google.com";
        byte[] body = client.DownloadData(uri); // note should be 0-length
        string type = client.ResponseHeaders["content-type"];
        client.HeadOnly = false;
        // check 'tis not binary... we'll use text/, but could
        // check for text/html
        if (type.StartsWith(@"text/"))
        {
            string text = client.DownloadString(uri);
            Console.WriteLine(text);
        }
    }

Вы получите тип MIME из заголовков без загрузки страницы. Просто найдите тип содержимого в заголовках ответа.

Читайте о заголовках HTTP.

Заголовки HTTP сообщат вам тип контента. Например:

Тип содержимого: приложение / XML.

Есть два способа определения типа контента

  1. расширение файла, вызываемое URL
  2. тип содержимого заголовка http

Первая была несколько продвинута Microsoft в старые времена и больше не является хорошей практикой.

Если клиент имеет ограничения отображения, принимающие только определенный тип содержимого, он запросит сервер с заголовками, такими как

accept: application/json
accept: text/html
accept: application/xml

И затем, если сервер может предоставить один из них и выберет XML, он вернет содержимое с заголовком

content-type: application/xml.

Тем не менее, некоторые услуги включают дополнительную информацию, такую ​​как

content-type: application/xml; charset=utf-8

вместо использования собственного заголовка для кодировки символов.

Другие вопросы по тегам