Я хочу получить тип веб-адреса. Например, это страница Html, и ее тип страницы - text/html, но тип это text/xml. этот тип страницы кажется image/png, но это text/html.
Я хочу знать, как определить тип содержимого веб-адреса, например this?
Я хочу получить тип веб-адреса. Например, это страница Html, и ее тип страницы - text/html, но тип это text/xml. этот тип страницы кажется image/png, но это text/html.
Я хочу знать, как определить тип содержимого веб-адреса, например this?
должно быть что-то вроде этого
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;
}
request.Method = "HEAD"; также можно добавить для скорости.
- person IS4; 15.10.2016
if (response != null) contentType = response.ContentType; можно сократить до contentType = response?.ContentType; (информация здесь)
- person mekb; 24.07.2019
Заголовок ответа 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
Прочтите заголовки HTTP.
Заголовки HTTP сообщают вам тип контента. Например:
тип содержимого: приложение / xml.
Есть два способа определить тип контента
Первый был в некоторой степени продвинут Microsoft в старые времена и больше не является хорошей практикой.
Если у клиента есть ограничения отображения, принимающие только определенный тип контента, он будет запрашивать сервер с такими заголовками, как
accept: application/json
accept: text/html
accept: application/xml
А затем, если сервер может предоставить один из них и выберет XML, он вернет контент с заголовком
content-type: application/xml.
Однако некоторые услуги включают дополнительную информацию, например
content-type: application/xml; charset=utf-8
вместо использования собственного заголовка для кодировки символов.
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);
}
}
Вы получите тип пантомимы из заголовков, не загружая страницу. Просто найдите тип содержимого в заголовках ответа.
MyClient является подклассом WebClient с поддержкой HEAD?
- person Marc Gravell; 14.08.2012