目錄
HTTP GET和POST
從URLs到本地文件
在java.net包中包含兩個有趣的類:URL類和URLConnection類。這兩個類可以用來創建客戶端到web服務器(HTTP服務器)的連接。下面是一個簡單的代碼例子:
1
2
3
4
5
6
7
8
9
|
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
默認情況下URLConnection發送一個HTTP GET請求到web服務器。如果你想發送一個HTTP POST請求,要調用URLConnection.setDoOutput(true)方法,如下:
1
2
3
|
URL url = new URL( "http://jenkov.com" ); URLConnection urlConnection = url.openConnection(); urlConnection.setDoOutput( true ); |
一旦你調用了setDoOutput(true),你就可以打開URLConnection的OutputStream,如下:
1
|
OutputStream output = urlConnection.getOutputStream(); |
你可以使用這個OutputStream向相應的HTTP請求中寫任何數據,但你要記得將其轉換成URL編碼(關于URL編碼的解釋,自行Google)(譯者注:具體名字是:application/x-www-form-urlencoded MIME 格式編碼)。
當你寫完數據的時候要記得關閉OutputStream。
從URLs到本地文件
URL也被叫做統一資源定位符。如果你的代碼不關心文件是來自網絡還是來自本地文件系統,URL類是另外一種打開文件的方式。
下面是一個如何使用URL類打開一個本地文件系統文件的例子:
1
2
3
4
5
6
7
8
9
|
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訪問一個web服務器上的文件的唯一不同處就是URL:”file:/c:/data/test.txt”。
總結
以上就是本文關于Java網絡編程之URL+URLconnection使用方法示例的全部內容,希望對大家有所幫助。如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!
原文鏈接:http://ifeve.com/java-netword-url-urlconnection/