欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

URL與URLConnection怎么在Java項目中使用

URL與URLConnection怎么在Java項目中使用?相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

我們提供的服務(wù)有:網(wǎng)站制作、成都網(wǎng)站建設(shè)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、東西湖ssl等。為近1000家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的東西湖網(wǎng)站制作公司

什么是 URL

  • URI = Universal Resource Identifier,中文釋義為統(tǒng)一資源標(biāo)志符

  • URL = Universal Resource Locator,中文釋義為統(tǒng)一資源定位符

  • URN = Universal Resource Name,中文釋義為統(tǒng)一資源名稱

它們之間的關(guān)系如下圖所示:

URL與URLConnection怎么在Java項目中使用

這圖啥意思啊,怎么辦呢?張小敬有問題就去問葛佬,咱不會就去問“維基百科”啊。

URI 可以分為 URL 和 URN,或者是 URL 和 URN 的結(jié)合體(同時具備 Locator 和 Name)。URN 就好像一個人的名字,URL 就像一個人的地址。換句話說:URN 確定了身份,URL 提供了找到它的方式。

概念清晰了吧?URI 是一個純粹的句法結(jié)構(gòu),用于指定標(biāo)識 Web 資源的字符串的各個不同部分。URL 是 URI 的一個特例,包含了定位 Web 資源的足夠多的信息。URI 是統(tǒng)一資源標(biāo)識符,而 URL 是統(tǒng)一資源定位符。URL 是 URI 的一種,比如:http://www.itmind.net/。但不是所有的 URI 都是 URL,因為 URI 可能包括一個子集,即統(tǒng)一資源名稱 (URN,命名了資源但不指定如何定位資源),比如說:mailto:qing_gee@163.com。

吧啦吧啦說這么多挺累的,來一發(fā)實例吧,用于獲取 URL 的主機(jī)名和端口號。

URL url = new URL("http://www.itmind.net/category/payment-selection/zhishixingqiu-jingxuan/");

System.out.println("host: " + url.getHost());
System.out.println("port: " + url.getPort());
System.out.println("uri_path: " + url.getPath());

// 輸出
// host: www.itmind.net
// port: -1
// uri_path: /category/payment-selection/zhishixingqiu-jingxuan/

1)創(chuàng)建 java.net.URL 對象的方法非常簡單,只需要一行代碼。

URL url = new URL(URL地址);

URL 對象是不可變的,因為 URL 類是 final 類型的,這樣的好處就是保證它是"線程安全"的。

2)有了 java.net.URL 對象后,就可以獲取 URL 相關(guān)的主機(jī)名、端口、路徑等等。

url.getHost()
url.getPort()
url.getPath()

02、什么是 URLConnection

URLConnection 是一個抽象類,代表應(yīng)用程序和 URL 之間的通信鏈接。它的實例可用于讀取和寫入此 URL 引用的資源。該類提供了比 Socket 類更易于使用、更高級的網(wǎng)絡(luò)連接抽象。

怎么獲取 URLConnection 對象呢?通過 URL 對象的 openConnection() 方法,示例如下。

URL url = new URL("http://www.itmind.net");
URLConnection connection = url.openConnection();

如果 URL 協(xié)議為 HTTP 的話,返回的連接為 URLConnection 的子類 HttpURLConnection。

有了 URLConnection 對象后,可以通過 getInputStream() 返回一個 InputStream,由此讀取 URL 所引用的資源數(shù)據(jù)(如果讀取 ASCII 文本則為 ASCII;如果讀取 HTML 文件則為原始 HTML,如果讀取圖像文件則為二進(jìn)制圖片數(shù)據(jù)等)。

我們來嘗試讀取一下小白學(xué)堂首頁的內(nèi)容,代碼示例如下。

URL url = new URL("http://www.itmind.net");
URLConnection connection = url.openConnection();

try (InputStream in = connection.getInputStream();) {

 ByteArrayOutputStream output = new ByteArrayOutputStream();
 byte[] buffer = new byte[1024];
 int len = -1;
 while ((len = in.read(buffer)) != -1) {
 output.write(buffer, 0, len);
 }

 System.out.println(new String(output.toByteArray()));

} catch (IOException e) {
 e.printStackTrace();
}

可以使用 try-with-resource 獲取 InputStream,該類實現(xiàn)了 AutoCloseable 接口,可以在內(nèi)容讀取完畢后自動關(guān)閉輸入流。

打印的內(nèi)容如下圖所示(部分):

URL與URLConnection怎么在Java項目中使用 

如果你想讀取某個 URL 的內(nèi)容,上述方法是一個不錯的方案,趕快去試試吧!

03、URL 和 URLConnection 的不同

URL 和 URLConnection 最大的不同在于:

  • URLConnection 提供了對 HTTP 頭部的訪問;

  • URLConnection 可以配置發(fā)送給某個 URL 的請求參數(shù);

  • URLConnection 不僅可以讀取 URL 定位的資源,還可以向其寫入數(shù)據(jù)。

獲取 HTTP 頭部的方法有以下一些:

  • getContentType,返回 Content-type 頭字段的值,即數(shù)據(jù)的 MIME 內(nèi)容類型。若類型不可用,則返回 null。如果內(nèi)容類型是文本,則 Content-type 首部可能會包含一個標(biāo)識內(nèi)容編碼方式的字符集,例如:Content-type:text/html; charset=UTF-8

  • getContentLength(),返回 Content-length 頭字段的值,即內(nèi)容的字節(jié)數(shù)。

  • getContentEncoding(),返回 Content-encoding 頭字段的值,即內(nèi)容的編碼方式(不同于字符編碼方式),例如:x-gzip。

  • getDate(),返回 date 頭字段的值,即請求的發(fā)送時間。

  • getExpiration(),返回 expires(過期時間) 頭字段的值。如果返回 0,表示不過期,永遠(yuǎn)緩存。

  • getLastModified(),返回 last-modified(上次修改日期) 頭字段的值。

代碼示例如下。

URL url = new URL("http://www.itmind.net");
URLConnection connection = url.openConnection();
System.out.println(connection.getContentType());
System.out.println(connection.getContentLength());
System.out.println(connection.getContentEncoding());
System.out.println(connection.getDate());
System.out.println(connection.getExpiration());
System.out.println(connection.getLastModified());

// 輸出
// text/html; charset=UTF-8
// -1
// null
// 1566886980000
// 0
// 0

看完上述內(nèi)容,你們掌握URL與URLConnection怎么在Java項目中使用的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

網(wǎng)站欄目:URL與URLConnection怎么在Java項目中使用
新聞來源:http://aaarwkj.com/article32/ijhspc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版小程序開發(fā)、做網(wǎng)站外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站內(nèi)鏈、網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)
国产精品国产精品三级在线观看| 欧美黄片网站在线观看| 漂亮人妻被中出中文字幕| 超薄丝袜美腿一二三区在线播放 | 午夜男女激情在线观看| 国家成人午夜在线观看| 成人国产视频免费观看| 欧美精品国产精品久久| 亚洲天堂福利视频网站| 两性色午夜视频免费网站| 国产一区二区三区免费有码视频 | 国产自拍成人精品视频| 青青草原天堂在线免费观看| 亚洲欧美一级二级三级| 中国毛片一区二区三区| 亚洲不卡高清一区二区三区| 亚洲综合一区二区精品久久| 国产高清不卡一二三区| 日韩精品一区二区三区电影在线播放| 久草视频在线免费资源站| 色婷婷精品一区二区三区| 男人的天堂在线观看黄片| 哈昂~不要啊在线观看| 色婷婷av一区二区三| 欧美日韩在线一区二区精品| 人妻一本久道久久综合鬼色| 亚洲一区二区午夜福利亚洲| 日韩不卡一区二区三区| 麻豆国产传媒69国产| 香蕉伊蕉伊中文在线视频| 亚州精品少妇久久久久久 | 亚洲欧美综合一区二区三区| 亚洲人妻不卡一区二区| av天堂男人站在线观看| 最新天堂av资源在线观看| 在线观看日韩三级av| 人人澡人人看人人妻| 精品久久人妻中文字幕免费| 国产偷国产偷亚洲综合av| 国产亚洲高清国产拍精品| 亚洲一区精品二人人爽久久|