>Java >java지도 시간 >Java 11에서 HttpClient를 사용하여 HTTP 요청 보내기 및 응답 처리

Java 11에서 HttpClient를 사용하여 HTTP 요청 보내기 및 응답 처리

PHPz
PHPz원래의
2023-08-01 11:48:241759검색

제목: Java 11에서 HttpClient를 사용하여 HTTP 요청 보내기 및 응답 처리

인용문:
현대 인터넷 애플리케이션에서 다른 서버와의 HTTP 통신은 매우 일반적인 작업입니다. Java는 이 목표를 달성하는 데 도움이 될 수 있는 몇 가지 내장 도구를 제공하며, 그중 최신 도구이자 권장되는 도구는 Java 11에 도입된 HttpClient 클래스입니다. 이 기사에서는 Java 11에서 HttpClient를 사용하여 HTTP 요청을 보내고 응답을 처리하는 방법을 소개하여 독자가 이 강력한 도구를 더 잘 이해하고 익히는 데 도움을 줍니다.

  1. HttpClient 개체 만들기
    HttpClient 클래스를 사용하여 HTTP 요청을 보내려면 먼저 HttpClient 개체를 만들어야 합니다. HttpClient는 애플리케이션의 다양한 부분에서 공유하고 재사용할 수 있는 스레드로부터 안전한 클래스입니다. 다음은 HttpClient 개체를 생성하는 샘플 코드입니다.
import java.net.http.HttpClient;

public class Main {
    public static void main(String[] args) {
        HttpClient httpClient = HttpClient.newHttpClient();
        
        // TODO: 发送HTTP请求并处理响应
    }
}
  1. GET 요청 보내기
    HTTP GET 요청 보내기는 가장 기본적인 작업입니다. 다음은 GET 요청 보내기 및 응답 처리의 예입니다.
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. POST 요청 보내기
    GET 요청을 보내는 것을 제외하고 POST 요청을 보내고 요청 본문을 전달할 수도 있습니다. 다음은 POST 요청을 보내고 응답을 처리하는 예입니다.
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();
        }
    }
}

결론:
이 문서에서는 Java 11의 HttpClient 클래스를 사용하여 HTTP 요청을 보내고 응답을 처리하는 방법을 설명합니다. 샘플 코드를 통해 HttpClient 클래스가 다른 서버와 통신할 수 있는 매우 간결하고 편리한 API를 제공하는 것을 확인할 수 있습니다. 독자는 HttpClient 클래스의 다른 기능을 결합하여 특정 요구 사항에 따라 더 복잡한 HTTP 요청 및 응답 처리를 구현할 수 있습니다. 이 기사가 독자가 Java 11의 HttpClient 클래스를 더 잘 배우고 적용하는 데 도움이 되기를 바랍니다.

위 내용은 Java 11에서 HttpClient를 사용하여 HTTP 요청 보내기 및 응답 처리의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.