URLConnection和HttpURLConnection使用的都是Java.NET中的类,属于标准的java接口。
HttpURLConnection继承自URLConnection,差别在与HttpURLConnection仅仅针对Http连接。
创建一个URL class的实例
URL url = new URL(urlString);
在你能够访问这个URL上的资源和内容之前,你必须要打开到这些资源与内容上的连接。
可以通过使用openConnection来完成这一操作。
openConnection并不需要参数,并且在操作成功之后,
它会返回一个URLConnection class的实例。
HttpURLConnection urlConnection = (HttpURLConnection)url.openConnection();
setConnectTimeout:设置连接主机超时(单位:毫秒)
setReadTimeout:设置从主机读取数据超时(单位:毫秒)
例如:
HttpURLConnection urlCon = (HttpURLConnection)url.openConnection();
urlCon.setConnectTimeout(30000);
urlCon.setReadTimeout(30000);
我用bing的背景图片(是https链接)测试了下,是可以用HttpURLConnection获取并下载的。
用HttpsURLConnection获取http链接,出现错误。
java.lang.ClassCastException: sun.net.www.protocol.http.HttpURLConnection cannot be cast to javax.net.ssl.HttpsURLConnection
综上,可以说明,
http https都能用HttpURLConnection获取
https只能用HttpsURLConnection获取