>Java >java지도 시간 >Java 11의 새로운 HTTP/2 클라이언트를 사용하여 HTTP 요청을 보내고 응답을 처리합니다.

Java 11의 새로운 HTTP/2 클라이언트를 사용하여 HTTP 요청을 보내고 응답을 처리합니다.

WBOY
WBOY원래의
2023-07-30 16:51:231378검색

Java 11의 새로운 HTTP/2 클라이언트를 사용하여 HTTP 요청을 보내고 응답을 처리하세요

  1. 소개
    Java 11이 출시되면서 Java는 기존 HttpURLConnection 및 HttpClient를 대체하는 새로운 HTTP/2 클라이언트 API를 도입했습니다. 새로운 API는 HTTP 요청을 보내고 응답을 처리하는 더 간단하고 효율적인 방법을 제공합니다. 이 문서에서는 GET 요청, POST 요청을 보내는 방법, 응답을 처리하는 방법을 포함하여 Java 11의 새로운 HTTP/2 클라이언트 API를 살펴보겠습니다.
  2. GET 요청 보내기
    GET 요청 보내기는 가장 일반적인 HTTP 작업 중 하나입니다. 다음은 Java 11의 새로운 HTTP/2 클라이언트 API를 사용하여 GET 요청을 보내는 샘플 코드입니다.
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class HttpClientExample {
    public static void main(String[] args) throws Exception {
        // 创建一个HTTP/2 Client
        HttpClient client = HttpClient.newHttpClient();

        // 创建一个GET请求
        HttpRequest request = HttpRequest.newBuilder()
                .uri(URI.create("https://api.example.com/data"))
                .GET()
                .build();

        // 发送请求并处理响应
        HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());

        // 打印响应结果
        System.out.println("Response Code: " + response.statusCode());
        System.out.println("Response Body: " + response.body());
    }
}

위 샘플 코드에서는 먼저 HttpClient 객체를 생성한 다음 GET 요청을 생성하고 send()를 전달합니다. 메소드는 요청을 보내고 HttpResponse 객체를 반환합니다. 마지막으로 HttpResponse 객체를 통해 응답 상태 코드와 응답 본문을 얻을 수 있습니다.

  1. POST 요청 보내기
    POST 요청 보내기는 또 다른 일반적인 HTTP 작업입니다. 다음은 Java 11의 새로운 HTTP/2 클라이언트 API를 사용하여 POST 요청을 보내는 샘플 코드입니다.
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.http.HttpHeaders;
import java.net.http.HttpResponse.BodyHandlers;

public class HttpClientExample {
    public static void main(String[] args) throws Exception {
        // 创建一个HTTP/2 Client
        HttpClient client = HttpClient.newHttpClient();

        // 创建一个POST请求
        HttpRequest request = HttpRequest.newBuilder()
                .uri(URI.create("https://api.example.com/data"))
                .header("Content-Type", "application/json")
                .POST(HttpRequest.BodyPublishers.ofString("{"key": "value"}"))
                .build();

        // 发送请求并处理响应
        HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());

        // 打印响应结果
        System.out.println("Response Code: " + response.statusCode());
        System.out.println("Response Body: " + response.body());
    }
}

위 샘플 코드에서는 먼저 HttpClient 객체를 생성한 다음 POST 요청을 생성하고 send()를 전달합니다. 메소드는 요청을 보내고 HttpResponse 객체를 반환합니다. POST 메소드의 매개변수를 통해 요청 본문의 내용을 지정할 수 있습니다. 예를 들어 여기서는 JSON 문자열을 요청 본문으로 보냅니다.

  1. 응답 처리
    Java 11의 새로운 HTTP/2 클라이언트 API는 응답을 처리하는 여러 메서드를 제공합니다. 위의 샘플 코드에서는 HttpResponse.BodyHandlers.ofString()을 사용하여 응답 본문을 문자열로 변환했습니다. ofString() 외에도 ofByteArray(), ofInputStream() 등과 같이 특정 응답 콘텐츠 유형에 따라 응답 본문을 처리할 수 있는 다른 BodyHandler가 있습니다.

응답 본문을 처리하는 것 외에도 응답 헤더, 응답 상태 코드 등과 같은 다른 응답 정보도 얻을 수 있습니다. 다음은 응답 처리를 위한 몇 가지 샘플 코드입니다.

// 获取响应头
HttpHeaders headers = response.headers();
headers.map().forEach((k, v) -> System.out.println(k + ": " + v));

// 获取响应状态码
int statusCode = response.statusCode();

// 判断响应是否成功
if (statusCode == 200) {
    System.out.println("Request succeeded");
} else {
    System.out.println("Request failed");
}

위 코드는 응답 헤더, 응답 상태 코드를 가져오고 상태 코드를 기반으로 요청 성공 여부를 확인하는 방법을 보여줍니다.

  1. 요약
    이 글을 통해 우리는 Java 11의 새로운 HTTP/2 클라이언트 API를 사용하여 HTTP 요청을 보내고 응답을 처리하는 방법을 배웠습니다. 새로운 API는 HTTP 작업을 수행하는 더 간단하고 효율적인 방법을 제공합니다. 이 기사가 새로운 HTTP/2 클라이언트 API를 이해하고 사용하는 데 도움이 되기를 바랍니다.

위 내용은 Java 11의 새로운 HTTP/2 클라이언트를 사용하여 HTTP 요청을 보내고 응답을 처리합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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