Java網(wǎng)絡(luò)編程之URL+URLconnection使用方法示例
目錄
HTTP GET和POST
從URLs到本地文件
在java.net包中包含兩個(gè)有趣的類:URL類和URLConnection類。這兩個(gè)類可以用來創(chuàng)建客戶端到web服務(wù)器(HTTP服務(wù)器)的連接。下面是一個(gè)簡單的代碼例子:
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請求到web服務(wù)器。如果你想發(fā)送一個(gè)HTTP POST請求,要調(diào)用URLConnection.setDoOutput(true)方法,如下:
URL url = new URL("http://jenkov.com"); URLConnection urlConnection = url.openConnection(); urlConnection.setDoOutput(true);
一旦你調(diào)用了setDoOutput(true),你就可以打開URLConnection的OutputStream,如下:
OutputStream output = urlConnection.getOutputStream();
你可以使用這個(gè)OutputStream向相應(yīng)的HTTP請求中寫任何數(shù)據(jù),但你要記得將其轉(zhuǎn)換成URL編碼(關(guān)于URL編碼的解釋,自行Google)(譯者注:具體名字是:application/x-www-form-urlencoded MIME 格式編碼)。
當(dāng)你寫完數(shù)據(jù)的時(shí)候要記得關(guān)閉OutputStream。
從URLs到本地文件
URL也被叫做統(tǒng)一資源定位符。如果你的代碼不關(guān)心文件是來自網(wǎng)絡(luò)還是來自本地文件系統(tǒng),URL類是另外一種打開文件的方式。
下面是一個(gè)如何使用URL類打開一個(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();
注意:這和通過HTTP訪問一個(gè)web服務(wù)器上的文件的唯一不同處就是URL:”file:/c:/data/test.txt”。
總結(jié)
以上就是本文關(guān)于Java網(wǎng)絡(luò)編程之URL+URLconnection使用方法示例的全部內(nèi)容,希望對大家有所幫助。歡迎參閱:Java中的靜態(tài)內(nèi)部類詳解及代碼示例、Java源碼解析之object類等,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!
相關(guān)文章
使用自定義注解實(shí)現(xiàn)redisson分布式鎖
這篇文章主要介紹了使用自定義注解實(shí)現(xiàn)redisson分布式鎖,具有很好的參考價(jià)值,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02解析spring-security權(quán)限控制和校驗(yàn)的問題
這篇文章主要介紹了解析spring-security權(quán)限控制和校驗(yàn)的問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03約定優(yōu)于配置_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
以前做項(xiàng)目,總是寫Ant配置文件,滿足于自己更靈活的配置,而沒有去思考,這么做到底值不值得2017-08-08Spring boot + thymeleaf 后端直接給onclick函數(shù)賦值的實(shí)現(xiàn)代碼
這篇文章主要介紹了Spring boot + thymeleaf 后端直接給onclick函數(shù)賦值的實(shí)現(xiàn)代碼,需要的朋友可以參考下2017-06-06java如何判斷一個(gè)數(shù)是否是素?cái)?shù)(質(zhì)數(shù))
這篇文章主要介紹了java如何判斷一個(gè)數(shù)是否是素?cái)?shù)(質(zhì)數(shù)),具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09