9

Webアドレスの種類を取得したい。たとえば、これはHtmlページであり、そのページタイプはですtext/htmlが、このタイプはですtext/xmlこのページのタイプはそうですがimage/png、そうtext/htmlです。

このようなWebアドレスのコンテンツタイプを検出するにはどうすればよいですか?

4

5 に答える 5

14

このようなものでなければなりません

    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;
    }
于 2012-08-14T03:07:56.507 に答える
1

HTTP応答ヘッダー:content-type

より詳細な回答については、より詳細な質問を提供してください。

于 2012-08-14T03:04:15.810 に答える
1

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
于 2012-08-14T03:05:09.340 に答える
1
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タイプを取得します。応答ヘッダーでcontent-typeを探すだけです。

于 2012-08-14T03:07:23.643 に答える
1

HTTPヘッダーを読んでください。

HTTPヘッダーは、コンテンツタイプを示します。例えば:

コンテンツタイプ:application/xml。

コンテンツタイプを決定する方法は2つあります

  1. URLによって呼び出されるファイル拡張子
  2. httpヘッダーのコンテンツタイプ

最初のものは、昔からマイクロソフトによっていくらか宣伝されており、もはや良い習慣ではありません。

クライアントに特定のコンテンツタイプのみを受け入れる表示制約がある場合、クライアントは次のようなヘッダーを使用してサーバーに要求します。

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

そして、サーバーがそれらの1つを提供し、XMLを選択できる場合、ヘッダー付きのコンテンツを返します。

content-type: application/xml.

ただし、一部のサービスには、次のような詳細情報が含まれています

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

文字エンコードに独自のヘッダーを使用するのではなく。

于 2012-08-14T03:13:01.377 に答える