ホームページ  >  記事  >  Java  >  Java 11 の HttpClient を使用して HTTP リクエストを送信し、レスポンスを処理する

Java 11 の HttpClient を使用して HTTP リクエストを送信し、レスポンスを処理する

PHPz
PHPzオリジナル
2023-08-01 11:48:241685ブラウズ

タイトル: 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。