Rumah >Java >javaTutorial >Hantar permintaan HTTP dan kendalikan respons menggunakan HttpClient dalam Java 11

Hantar permintaan HTTP dan kendalikan respons menggunakan HttpClient dalam Java 11

PHPz
PHPzasal
2023-08-01 11:48:241792semak imbas

Tajuk: Hantar permintaan HTTP dan kendalikan respons menggunakan HttpClient dalam Java 11

Petikan:
Dalam aplikasi internet moden, komunikasi HTTP dengan pelayan lain adalah tugas yang sangat biasa. Java menyediakan beberapa alatan terbina dalam yang boleh membantu kami mencapai matlamat ini, yang terkini dan disyorkan antaranya ialah kelas HttpClient yang diperkenalkan dalam Java 11. Artikel ini akan memperkenalkan cara menggunakan HttpClient dalam Java 11 untuk menghantar permintaan HTTP dan memproses respons, membantu pembaca memahami dan menguasai alat berkuasa ini dengan lebih baik.

  1. Buat HttpClient Object
    Untuk menggunakan kelas HttpClient untuk menghantar permintaan HTTP, anda perlu mencipta objek HttpClient terlebih dahulu. HttpClient ialah kelas selamat benang yang boleh dikongsi dan digunakan semula di bahagian aplikasi yang berlainan. Berikut ialah contoh kod untuk mencipta objek HttpClient:
import java.net.http.HttpClient;

public class Main {
    public static void main(String[] args) {
        HttpClient httpClient = HttpClient.newHttpClient();
        
        // TODO: 发送HTTP请求并处理响应
    }
}
  1. Menghantar permintaan GET
    Menghantar permintaan HTTP GET ialah operasi paling asas, berikut ialah contoh menghantar permintaan GET dan memproses respons:
import java.net.URI;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.http.HttpHeaders;

public class Main {
    public static void main(String[] args) {
        HttpClient httpClient = HttpClient.newHttpClient();
        
        HttpRequest httpRequest = HttpRequest.newBuilder()
            .uri(URI.create("http://api.example.com/data"))
            .GET()
            .build();
        
        try {
            HttpResponse<String> httpResponse = httpClient.send(httpRequest, HttpResponse.BodyHandlers.ofString());
            
            int statusCode = httpResponse.statusCode();
            HttpHeaders headers = httpResponse.headers();
            String body = httpResponse.body();
            
            System.out.println("Response Code: " + statusCode);
            System.out.println("Response Headers: " + headers);
            System.out.println("Response Body: " + body);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
  1. Menghantar permintaan POST
    Kecuali Untuk menghantar permintaan GET, kami juga boleh menghantar permintaan POST dan lulus badan permintaan. Berikut ialah contoh menghantar permintaan POST dan mengendalikan respons:
import java.net.URI;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.http.HttpHeaders;
import java.net.http.HttpRequest.BodyPublishers;

public class Main {
    public static void main(String[] args) {
        HttpClient httpClient = HttpClient.newHttpClient();
        
        String requestBody = "username=admin&password=123456";
        
        HttpRequest httpRequest = HttpRequest.newBuilder()
            .uri(URI.create("http://api.example.com/login"))
            .header("Content-Type", "application/x-www-form-urlencoded")
            .POST(BodyPublishers.ofString(requestBody))
            .build();
        
        try {
            HttpResponse<String> httpResponse = httpClient.send(httpRequest, HttpResponse.BodyHandlers.ofString());
            
            int statusCode = httpResponse.statusCode();
            HttpHeaders headers = httpResponse.headers();
            String body = httpResponse.body();
            
            System.out.println("Response Code: " + statusCode);
            System.out.println("Response Headers: " + headers);
            System.out.println("Response Body: " + body);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Kesimpulan:
Artikel ini menerangkan cara menghantar permintaan HTTP dan mengendalikan respons menggunakan kelas HttpClient dalam Java 11. Melalui kod sampel, kita dapat melihat bahawa kelas HttpClient menyediakan API yang sangat ringkas dan mudah untuk berkomunikasi dengan pelayan lain. Pembaca boleh menggabungkan fungsi lain kelas HttpClient untuk melaksanakan permintaan HTTP yang lebih kompleks dan pemprosesan tindak balas mengikut keperluan khusus mereka. Saya harap artikel ini dapat membantu pembaca mempelajari dan menggunakan kelas HttpClient dengan lebih baik dalam Java 11.

Atas ialah kandungan terperinci Hantar permintaan HTTP dan kendalikan respons menggunakan HttpClient dalam Java 11. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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