2011-12-24 21 views

答えて

0

content-type:text/htmlはWebページを表します。

1

あなたがリクエストしたときに受け取るものを教えてくれるURLには何もありません。実際にリソースを要求してから、content-typeヘッダーを検査する必要があります。その時点では、あなたがすべきことはまだはっきりしていません。一部のコンテンツタイプは(ほとんどの場合)常にブラウザによって処理されます。 text/html。いくつかのタイプとする必要があります。 application/xhtml+xml。いくつかのタイプとすることができます。 application/pdf

これらのうち「ウェブページ」とみなされるものがある場合は、まだ明らかではありません。あなた自身で決定する必要があります。

HttpURLConnection classなどを使用して、リソースが要求されたらcontent-typeヘッダーを検査できます。

3

HTTP HEADリクエストを発行して、Content-Type応答ヘッダーを確認できます。要求を発行する前にHttpURLConnection.setRequestMethod("HEAD")を使用することができます。次に、URLConnection.connect()でリクエストを発行し、URLConnection.getContentType()を使用してHTTPヘッダーを読み取ります。

HEAD要求を使用することのボーナスは、実際のリソースは決して送信/生成されないということです。また、GETリクエストを使用し、URLConnection.guessContentTypeFromStream()を使用して結果のストリームを検査すると、実際のバイトを検査し、ストリームが何を表すかを推測することができます。私はそれがmagic numbersまたはストリームの他のパタ​​ーンを探すと思う。

関連する問題