2012-07-11 48 views
0

如何在Java中有效检查HTTP响应是否包含HTML?我正在像一个HTTP连接如下图所示:如何检查HTTP响应中的HTML?

URL url = new URL(inputURL); 
con = (HttpsURLConnection)url.openConnection(proxy); 
con.setRequestMethod(request.getMethod()); 
con.connect(); 
con.getResponseCode(); 

有没有一种方法来有效地检查,如果响应包含HTML(而不是其他资源,如图像,或名为.css .js文件)。

回答

3

你有一个专门从事这项方法:getContentType

在您HttpsURLConnection的,则返回接收到的文件的MIME类型。

对于HTML文件,它将是“text/html”。

所以你可以检查:

boolean isHTML = "text/html".equalsIgnoreCase(con.getContentType()); 
3

如果您信任的Web服务器返回正确的内容类型头,你可以只查看那些 - 对于HTML它应该是:

Content-type:text/html 
2

你可以从响应中检查内容类型。

System.out.println(con.getContentType().equals("text/html"));