Java網(wǎng)絡(luò)編程之URL+URLconnection使用方法示例
目錄
HTTP GET和POST
從URLs到本地文件
在java.net包中包含兩個(gè)有趣的類:URL類和URLConnection類。這兩個(gè)類可以用來(lái)創(chuàng)建客戶端到web服務(wù)器(HTTP服務(wù)器)的連接。下面是一個(gè)簡(jiǎn)單的代碼例子:
URL url = new URL("http://jenkov.com");
URLConnection urlConnection = url.openConnection();
InputStream input = urlConnection.getInputStream();
int data = input.read();
while(data != -1){
System.out.print((char) data);
data = input.read();
}
input.close();
HTTP GET和POST
默認(rèn)情況下URLConnection發(fā)送一個(gè)HTTP GET請(qǐng)求到web服務(wù)器。如果你想發(fā)送一個(gè)HTTP POST請(qǐng)求,要調(diào)用URLConnection.setDoOutput(true)方法,如下:
URL url = new URL("http://jenkov.com");
URLConnection urlConnection = url.openConnection();
urlConnection.setDoOutput(true);
一旦你調(diào)用了setDoOutput(true),你就可以打開(kāi)URLConnection的OutputStream,如下:
OutputStream output = urlConnection.getOutputStream();
你可以使用這個(gè)OutputStream向相應(yīng)的HTTP請(qǐng)求中寫(xiě)任何數(shù)據(jù),但你要記得將其轉(zhuǎn)換成URL編碼(關(guān)于URL編碼的解釋,自行Google)(譯者注:具體名字是:application/x-www-form-urlencoded MIME 格式編碼)。
當(dāng)你寫(xiě)完數(shù)據(jù)的時(shí)候要記得關(guān)閉OutputStream。
從URLs到本地文件
URL也被叫做統(tǒng)一資源定位符。如果你的代碼不關(guān)心文件是來(lái)自網(wǎng)絡(luò)還是來(lái)自本地文件系統(tǒng),URL類是另外一種打開(kāi)文件的方式。
下面是一個(gè)如何使用URL類打開(kāi)一個(gè)本地文件系統(tǒng)文件的例子:
URL url = new URL("file:/c:/data/test.txt");
URLConnection urlConnection = url.openConnection();
InputStream input = urlConnection.getInputStream();
int data = input.read();
while(data != -1){
System.out.print((char) data);
data = input.read();
}
input.close();
注意:這和通過(guò)HTTP訪問(wèn)一個(gè)web服務(wù)器上的文件的唯一不同處就是URL:”file:/c:/data/test.txt”。
總結(jié)
以上就是本文關(guān)于Java網(wǎng)絡(luò)編程之URL+URLconnection使用方法示例的全部?jī)?nèi)容,希望對(duì)大家有所幫助。歡迎參閱:Java中的靜態(tài)內(nèi)部類詳解及代碼示例、Java源碼解析之object類等,如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!
相關(guān)文章
springboot模塊里面調(diào)用另外一個(gè)模塊的方法實(shí)現(xiàn)
在Spring-Boot項(xiàng)目開(kāi)發(fā)中,存在著本模塊的代碼需要訪問(wèn)外面模塊接口,本文就來(lái)介紹一下springboot模塊里面調(diào)用另外一個(gè)模塊的方法實(shí)現(xiàn),感興趣的可以了解一下2023-11-11
WebSocket實(shí)現(xiàn)聊天室業(yè)務(wù)
這篇文章主要為大家詳細(xì)介紹了WebSocket實(shí)現(xiàn)聊天室業(yè)務(wù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-08-08
Java的web開(kāi)發(fā)中SSH框架的協(xié)作處理應(yīng)用筆記
這篇文章主要介紹了Java的web開(kāi)發(fā)中SSH框架的協(xié)作處理應(yīng)用筆記,SSH是指Struts和Spring以及Hibernate的框架搭配,需要的朋友可以參考下2015-12-12
Java實(shí)現(xiàn)簡(jiǎn)單連連看游戲
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)簡(jiǎn)單連連看游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05
Apache Commons Math3探索之快速傅立葉變換代碼示例
這篇文章主要介紹了Apache Commons Math3探索之快速傅立葉變換代碼示例,具有一定參考價(jià)值,需要的朋友可以了解下。2017-10-10
Spring-AOP自動(dòng)創(chuàng)建代理之BeanNameAutoProxyCreator實(shí)例
這篇文章主要介紹了Spring-AOP自動(dòng)創(chuàng)建代理之BeanNameAutoProxyCreator實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07
Java對(duì)文件的隨機(jī)讀寫(xiě)以及壓縮處理操作
這篇文章主要介紹了Java對(duì)文件的隨機(jī)讀寫(xiě)以及壓縮處理操作,是Java入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-10-10

