如何确定文件是否是来自URL的html?

Eri*_*son 3 html java url

给定一个URL,你怎么知道引用的文件是和html文件?

显然,它是一个html文件,如果它以.html或/结尾,但是也有.jsp文件,所以我想知道其他扩展可能在那里为html.

或者,如果可以从Java中的URL对象轻松获取此信息,那么这对我的目的就足够了.

Ben*_*hes 20

你不能.但是您可以向服务器询问标题并检查内容类型以查看它是否为text/html.


Dav*_*itz 10

只是从您不能的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
  }
Run Code Online (Sandbox Code Playgroud)


cas*_*key 7

你不能.使用以.jpeg,.gif或.mp3结尾的网址提供html文件没有任何问题.要知道的唯一方法是获取URL并查看Content-Type标头以查看它是否为text/html(但由于配置不当的Web服务器,这甚至不是100%准确).