URLConnection和HttpURLConnection使用的都是Java.NET中的類赋元,屬于標(biāo)準(zhǔn)的java接口章办。
HttpURLConnection繼承自URLConnection,差別在與HttpURLConnection僅僅針對Http連接闺兢。
創(chuàng)建一個URL class的實例
URL url = new URL(urlString);
在你能夠訪問這個URL上的資源和內(nèi)容之前锐想,你必須要打開到這些資源與內(nèi)容上的連接钉跷。
可以通過使用openConnection來完成這一操作宣蔚。
openConnection并不需要參數(shù)该编,并且在操作成功之后迄本,
它會返回一個URLConnection class的實例。
HttpURLConnection urlConnection = (HttpURLConnection)url.openConnection();
setConnectTimeout:設(shè)置連接主機超時(單位:毫秒)
setReadTimeout:設(shè)置從主機讀取數(shù)據(jù)超時(單位:毫秒)
例如:
HttpURLConnection urlCon = (HttpURLConnection)url.openConnection();
urlCon.setConnectTimeout(30000);
urlCon.setReadTimeout(30000);
我用bing的背景圖片(是https鏈接)測試了下课竣,是可以用HttpURLConnection獲取并下載的嘉赎。
用HttpsURLConnection獲取http鏈接,出現(xiàn)錯誤于樟。
java.lang.ClassCastException: sun.net.www.protocol.http.HttpURLConnection cannot be cast to javax.net.ssl.HttpsURLConnection
綜上公条,可以說明,
http https都能用HttpURLConnection獲取
https只能用HttpsURLConnection獲取