Java網絡教程:URL + URLConnection
目錄
- HTTP GET和POST
- 從URLs到本地文件
在java.net包中包含兩個有趣的類:URL類和URLConnection類。這兩個類可以用來創建客戶端到web服務器(HTTP服務器)的連接。下麵是一個簡單的代碼例子:
URL url = new URL("https://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)方法,如下:
URL url = new URL("https://jenkov.com"); URLConnection urlConnection = url.openConnection(); urlConnection.setDoOutput(true);
一旦你調用了setDoOutput(true),你就可以打開URLConnection的OutputStream,如下:
OutputStream output = urlConnection.getOutputStream();
你可以使用這個OutputStream向相應的HTTP請求中寫任何數據,但你要記得將其轉換成URL編碼(關於URL編碼的解釋,自行Google)(譯者注:具體名字是:application/x-www-form-urlencoded MIME 格式編碼)。
當你寫完數據的時候要記得關閉OutputStream。
從URLs到本地文件
URL也被叫做統一資源定位符。如果你的代碼不關心文件是來自網絡還是來自本地文件係統,URL類是另外一種打開文件的方式。
下麵是一個如何使用URL類打開一個本地文件係統文件的例子:
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”。
最後更新:2017-05-23 13:32:00