首頁 > Java > java教程 > 如何使用 HttpUrlConnection 在 Java 中撰寫和傳送 HTTP 請求?

如何使用 HttpUrlConnection 在 Java 中撰寫和傳送 HTTP 請求?

Barbara Streisand
發布: 2024-12-30 11:16:09
原創
248 人瀏覽過

How to Compose and Send HTTP Requests in Java using HttpUrlConnection?

Java 中的 HTTP 請求組合

在 Java 中,組合和發送 HTTP 請求涉及使用 java.net.HttpUrlConnection 類別。

要建構 HTTP 請求,請遵循下列步驟步驟:

  • 建立連線: 建立代表目標 Web 伺服器的 URL 物件並建立 HttpURLConnection 實例。
  • 設定標頭: 設定 HTTP 標頭,例如「Content-Type」和「Content-Length」以指定要求的內容類型和長度。
  • 啟用輸出: 將 setDoOutput 屬性設為 true 以允許輸出到連線。

傳送請求:

  • 寫入請求:使用DataOutputStream將請求參數寫入連線的輸出流。
  • 取得回應:透過從連線開啟 InputStream 並逐行讀取回應來檢索伺服器的回應。

這是一個範例使用 HttpUrlConnection 傳送 POST 要求:

public static String executePost(String targetURL, String urlParameters) {
  // Create connection and set headers
  HttpURLConnection connection = (HttpURLConnection) new URL(targetURL).openConnection();
  connection.setRequestMethod("POST");
  connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
  connection.setRequestProperty("Content-Length", Integer.toString(urlParameters.getBytes().length));

  // Enable output and write request
  connection.setDoOutput(true);
  DataOutputStream wr = new DataOutputStream(connection.getOutputStream());
  wr.writeBytes(urlParameters);
  wr.close();

  // Get response
  BufferedReader rd = new BufferedReader(new InputStreamReader(connection.getInputStream()));
  StringBuilder response = new StringBuilder();
  String line;
  while ((line = rd.readLine()) != null) {
    response.append(line);
    response.append('\r');
  }
  rd.close();

  return response.toString();
}
登入後複製

以上是如何使用 HttpUrlConnection 在 Java 中撰寫和傳送 HTTP 請求?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板