閱讀24 返回首頁    go 阿裏雲 go 技術社區[雲棲]


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

  上一篇:go  重磅 | 阿裏推出多智能體雙向協調網絡BicNet,玩《星際爭霸》堪比人類
  下一篇:go  linux 批量建立信任關係