Rumah > Java > javaTutorial > Bagaimana untuk Menghantar Permintaan HTTP di Java menggunakan HttpUrlConnection?

Bagaimana untuk Menghantar Permintaan HTTP di Java menggunakan HttpUrlConnection?

Susan Sarandon
Lepaskan: 2024-12-21 00:09:11
asal
518 orang telah melayarinya

How to Send HTTP Requests in Java using HttpUrlConnection?

Menghantar Permintaan HTTP dalam Java

Keupayaan untuk menghantar permintaan HTTP adalah penting untuk berinteraksi dengan pelayan jauh dan API web di Java. Satu cara untuk mengarang dan menghantar permintaan HTTP adalah melalui kelas java.net.HttpUrlConnection.

Mencipta Permintaan HTTP

Untuk membuat permintaan HTTP, anda boleh menggunakan langkah berikut:

  1. Buat objek URL: Ini mewakili URL sasaran permintaan HTTP.
  2. Buka sambungan: Gunakan kaedah openConnection() pada URL untuk mewujudkan sambungan ke pelayan.
  3. Tetapkan kaedah permintaan: Tentukan kaedah HTTP (cth., GET, POST, PUT) menggunakan setRequestMethod() kaedah.
  4. Tetapkan sifat permintaan: Konfigurasikan pelbagai sifat permintaan HTTP, seperti jenis kandungan, bahasa dan tetapan cache.
  5. Dayakan output: Tetapkan setDoOutput(true) untuk mendayakan penulisan data kepada permintaan body.

Menghantar Permintaan HTTP

Setelah permintaan dirumus, anda boleh menghantarnya ke pelayan menggunakan DataOutputStream:

  1. Tulis isi permintaan: Gunakan kaedah writeBytes() untuk menulis isi permintaan (jika mana-mana) ke strim output.
  2. Tutup strim output: Ini melengkapkan penghantaran permintaan.

Mendapatkan Respons HTTP

Setelah menghantar permintaan, anda boleh mendapatkan maklum balas daripada pelayan:

  1. Dapatkan strim input: Gunakan kaedah getInputStream() untuk mendapatkan semula aliran input respons.
  2. Baca respons: Gunakan BufferedReader untuk membaca kandungan baris aliran respons dengan baris.
  3. Menghuraikan badan respons: Badan respons mungkin mengandungi data sebenar yang dikembalikan oleh pelayan. Anda boleh menghuraikannya dengan sewajarnya.

Contoh Coretan Kod

Kod Java berikut menunjukkan cara menghantar permintaan HTTP POST menggunakan kelas HttpUrlConnection:

import java.net.HttpURLConnection;
import java.net.URL;
import java.io.DataOutputStream;
import java.io.InputStream;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;

public class HttpPostExample {

  public static void main(String[] args) {
    String targetURL = "https://example.com/api/endpoint";
    String urlParameters = "key1=value1&key2=value2";

    HttpURLConnection connection = null;

    try {
      URL url = new URL(targetURL);
      connection = (HttpURLConnection) url.openConnection();
      connection.setRequestMethod("POST");
      connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
      connection.setRequestProperty("Content-Length", Integer.toString(urlParameters.getBytes().length));
      connection.setDoOutput(true);

      DataOutputStream wr = new DataOutputStream(connection.getOutputStream());
      wr.writeBytes(urlParameters);
      wr.close();

      InputStream is = connection.getInputStream();
      BufferedReader rd = new BufferedReader(new InputStreamReader(is));
      StringBuilder response = new StringBuilder();
      String line;
      while ((line = rd.readLine()) != null) {
        response.append(line);
        response.append('\r');
      }
      rd.close();
      System.out.println(response.toString());
    } catch (IOException e) {
      e.printStackTrace();
    } finally {
      if (connection != null) {
        connection.disconnect();
      }
    }
  }
}
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Menghantar Permintaan HTTP di Java menggunakan HttpUrlConnection?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan