我正在打开一个到我在程序中生成的 URL 的 HTTP 连接:
String url = INPUT_URL;
HttpURLConnection connection;
while (true)
{
connection = (HttpURLConnection)new URL(url).openConnection();
connection.setInstanceFollowRedirects(true);
switch (connection.getResponseCode()/100)
{
case 3:
url = connection.getHeaderField("Location");
break;
case 4:
case 5:
// Report some error
return;
}
}
现在,case 2
我想确定内容类型。例如:
连接到http://www.google.com时,内容类型为文本。
连接到http://www.google.com/favicon.ico时,内容类型为图像。
我无法使用 URL 结构来确定这一点。例如:
- 连接到http://www.advertising.com/favicon.ico时,response-code 为 200,但 content-type 为 Text(内容本身为“未找到请求的文件 favicon.ico。”)。
我知道如何使用InputStream
对象读取内容,但是:
如果可能,我希望避免获取内容本身。
我看不出它如何帮助我确定内容类型。
任何想法将不胜感激......谢谢。