【发布时间】:2014-02-13 18:42:09
【问题描述】:
我正在打开一个到我在程序中生成的 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时,内容类型为Text。
连接http://www.google.com/favicon.ico时,内容类型为Image。
我无法使用 URL 结构来确定这一点。例如:
- 连接http://www.advertising.com/favicon.ico时,response-code是200,但是content-type是Text(内容本身是“未找到请求的文件favicon.ico”)。
我知道如何使用InputStream 对象读取内容,但是:
如果可能,我希望避免获取内容本身。
我看不出它如何帮助我确定内容类型。
任何想法都将受到高度赞赏...谢谢。
【问题讨论】:
标签: java httpurlconnection httpcontent