给定一个URL,如何判断引用的文件是否是html文件?
显然,如果它以.html或/结尾,那么它就是一个html文件,但是也有.jsp文件,所以我想知道html的其他扩展名可能是什么。
或者,如果可以很容易地从Java中的URL对象获得此信息,那么这就足够了。
发布于 2009-06-30 19:37:28
仅从您不能使用的URL来看,就可以考虑以下URL:
它们都返回HTML内容。唯一可靠的方法是向服务器请求资源,并检查Content-TYpe头。最好使用向服务器发送HEAD请求,而不是GET或POST -它只会给你头部,而不是内容。
URL url = ...
HttpURLConnection urlc = (HttpURLConnection)url.openConnection();
urlc.setAllowUserInteraction( false );
urlc.setDoInput( true );
urlc.setDoOutput( false );
urlc.setUseCaches( true );
urlc.setRequestMethod("HEAD");
urlc.connect();
String mime = urlc.getContentType();
if(mime.equals("text/html") {
// do your stuff
}发布于 2009-06-30 19:22:48
您不能。但是您可以向服务器请求标头,并检查内容类型以查看它是否是text/html。
发布于 2009-06-30 19:23:18
你不能。使用以.jpeg、.gif甚至.mp3结尾的urls提供html文件并没有什么错。唯一知道的方法是获取url并查看Content-Type头,看看它是否是text/html (但由于web服务器配置不佳,这甚至不是100%准确)。
https://stackoverflow.com/questions/1065503
复制相似问题