内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

URL與URLConnection怎么在Java項(xiàng)目中使用-創(chuàng)新互聯(lián)

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

創(chuàng)新互聯(lián)公司成立與2013年,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元融安做網(wǎng)站,已為上家服務(wù),為融安各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:13518219792

什么是 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項(xiàng)目中使用

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

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

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

吧啦吧啦說(shuō)這么多挺累的,來(lái)一發(fā)實(shí)例吧,用于獲取 URL 的主機(jī)名和端口號(hào)。

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 對(duì)象的方法非常簡(jiǎn)單,只需要一行代碼。

URL url = new URL(URL地址);

URL 對(duì)象是不可變的,因?yàn)?URL 類是 final 類型的,這樣的好處就是保證它是"線程安全"的。

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

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

02、什么是 URLConnection

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

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

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

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

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

我們來(lái)嘗試讀取一下小白學(xué)堂首頁(yè)的內(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,該類實(shí)現(xiàn)了 AutoCloseable 接口,可以在內(nèi)容讀取完畢后自動(dòng)關(guān)閉輸入流。

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

URL與URLConnection怎么在Java項(xiàng)目中使用

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

03、URL 和 URLConnection 的不同

URL 和 URLConnection 大的不同在于:

  • URLConnection 提供了對(duì) HTTP 頭部的訪問(wèn);

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

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

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

  • getContentType,返回 Content-type 頭字段的值,即數(shù)據(jù)的 MIME 內(nèi)容類型。若類型不可用,則返回 null。如果內(nèi)容類型是文本,則 Content-type 首部可能會(huì)包含一個(gè)標(biāo)識(shí)內(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 頭字段的值,即請(qǐng)求的發(fā)送時(shí)間。

  • getExpiration(),返回 expires(過(guò)期時(shí)間) 頭字段的值。如果返回 0,表示不過(guò)期,永遠(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項(xiàng)目中使用的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝各位的閱讀!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站m.rwnh.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

網(wǎng)頁(yè)名稱:URL與URLConnection怎么在Java項(xiàng)目中使用-創(chuàng)新互聯(lián)
標(biāo)題URL:http://m.rwnh.cn/article20/hcijo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、用戶體驗(yàn)關(guān)鍵詞優(yōu)化、網(wǎng)站營(yíng)銷(xiāo)、定制網(wǎng)站、微信公眾號(hào)

廣告

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

成都定制網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)
油尖旺区| 阳春市| 文成县| 类乌齐县| 都安| 堆龙德庆县| 突泉县| 威宁| 若尔盖县| 宁阳县| 文成县| 双峰县| 阿鲁科尔沁旗| 和平区| 彰化市| 沁源县| 长武县| 清原| 商洛市| 赫章县| 色达县| 北辰区| 博客| 南通市| 应用必备| 泾源县| 阿拉善右旗| 沈阳市| 济宁市| 托克逊县| 肇庆市| 吉首市| 林口县| 景东| 雅安市| 嘉义县| 庆阳市| 平昌县| 远安县| 大同县| 奉新县|