非HTTP连接的URL连接

时间:2018-08-25 12:52:52

标签: java networking httpurlconnection urlconnection

我试图了解何时使用URLConnection类和何时使用HttpURLConnection类。通过研究,我知道URLConnection用于非HTTP连接,而HttpURLConnection用于特定的HTTP连接。有人可以帮我知道这些非HTTP连接指的是什么吗?

PS-请注意,我的qn与URLConnection类和HttpURLConnection类的继承关系无关。

关于非HTTP连接(可以由URLConnection类处理)的含义。非HTTP连接是指数据报连接或ftp连接或其他连接。请参考以下网站:

https://www.experts-exchange.com/questions/21420009/URLConnection-and-HttpURLConnection.html

1 个答案:

答案 0 :(得分:0)

URLConnection是一个抽象类,表示与URL的任何连接。

HttpURLConnecton是URLConnection(子类),并提供更多方法。

话虽如此,您可以使用HTTP协议打开URL并将返回值分配给URLConnection,但是您将缺少更具体的方法。

您可以打开指向ftp资源的URL,或其他任何方法,然后将结果分配给URLConnection,但是它可能不支持基础协议。例如,FTP支持非常有限。

请参阅URL.openConnection()的文档:

  

如果对于URL的协议(例如HTTP或JAR),存在一个公共的专用URLConnection子类,该子类属于以下软件包之一或其子软件包之一:java.lang,java.io,java.util,java .net,返回的连接将属于该子类。例如,对于HTTP,将返回HttpURLConnection,对于JAR,将返回JarURLConnection。

因此,是的,对HTTP连接使用HttpURLConnection以及您拥有的任何专用URLConnection,否则,请使用原始URLConnection。话虽如此,这取决于您要使用哪种协议-对于任何不重要的协议,您可能需要一个更完整的客户端。