1

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

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

有没有办法有效地检查响应是否包含 HTML(而不是其他资源,如图像、.css 或 .js 文件)。

4

3 回答 3

3

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

Content-type:text/html
于 2012-07-11T10:16:14.947 回答
3

您有一个专门用于此的方法:getContentType

在您的 HttpsURLConnection 上,它返回接收到的文件的 mime 类型。

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

所以你可以检查:

boolean isHTML = "text/html".equalsIgnoreCase(con.getContentType());
于 2012-07-11T10:15:14.747 回答
2

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

    System.out.println(con.getContentType().equals("text/html"));
于 2012-07-11T10:18:22.777 回答