天天看點

java get方法請求_使用Java發送POST、GET請求

使用Java發送GET、POST請求

——節選自《瘋狂Java講義》

URL的openConnection()方法将傳回一個URLConnection對象,該對象表示應用程式和 URL 之間的通信連結。程式可以通過URLConnection執行個體向該URL發送請求、讀取URL引用的資源。

通常建立一個和 URL 的連接配接,并發送請求、讀取此 URL 引用的資源需要如下幾個步驟:

(1)通過調用URL對象openConnection()方法來建立URLConnection對象。

(2)設定URLConnection的參數和普通請求屬性。

(3)如果隻是發送GET方式請求,使用connect方法建立和遠端資源之間的實際連接配接即可;如果需要發送POST方式的請求,需要擷取URLConnection執行個體對應的輸出流來發送請求參數。

(4)遠端資源變為可用,程式可以通路遠端資源的頭字段、或通過輸入流讀取遠端資源的資料。

在建立和遠端資源的實際連接配接之前,程式可以通過如下方法來設定請求頭字段:

setAllowUserInteraction:設定該URLConnection的allowUserInteraction請求頭字段的值。

setDoInput:設定該URLConnection的doInput請求頭字段的值。

setDoOutput:設定該URLConnection的doOutput請求頭字段的值。

setIfModifiedSince:設定該URLConnection的ifModifiedSince請求頭字段的值。

setUseCaches:設定該URLConnection的useCaches請求頭字段的值。

除此之外,還可以使用如下方法來設定、或增加通用頭字段:

setRequestProperty(String key, String value):設定該URLConnection的key請求頭字段的值為value。如下代碼所示:

conn.setRequestProperty("accept" , "*/*")

addRequestProperty(String key, String value):為該URLConnection的key請求頭字段的增加value值,該方法并不會覆寫原請求頭字段的值,而是将新值追加到原請求頭字段中。

當遠端資源可用之後,程式可以使用以下方法用于通路頭字段和内容:

Object getContent():擷取該URLConnection的内容。

String getHeaderField(String name):擷取指定響應頭字段的值。

getInputStream():傳回該URLConnection對應的輸入流,用于擷取URLConnection響應的内容。

getOutputStream():傳回該URLConnection對應的輸出流,用于向URLConnection發送請求參數。

注意:如果既要使用輸入流讀取URLConnection響應的内容,也要使用輸出流發送請求參數,一定要先使用輸出流,再使用輸入流。

getHeaderField方法用于根據響應頭字段來傳回對應的值。而某些頭字段由于經常需要通路