タイトル: Java 11 の HttpClient を使用した HTTP リクエストの送信と応答の処理
はじめに:
現代のインターネット アプリケーションでは、他のサーバーとの HTTP 通信は非常に一般的なタスクです。 Java には、この目標の達成に役立ついくつかの組み込みツールが用意されており、その中で最新かつ推奨されているのが Java 11 で導入された HttpClient クラスです。この記事では、Java 11 で HttpClient を使用して HTTP リクエストを送信し、応答を処理する方法を紹介し、読者がこの強力なツールをより深く理解し、使いこなすのに役立ちます。
- 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请求并处理响应 } }
- 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(); } } }
- 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 サイトの他の関連記事を参照してください。

JVMは、JavanativeInterface(JNI)およびJava Standard Libraryを介してオペレーティングシステムのAPIの違いを処理します。1。JNIでは、Javaコードがローカルコードを呼び出し、オペレーティングシステムAPIと直接対話できます。 2. Java Standard Libraryは統一されたAPIを提供します。これは、異なるオペレーティングシステムAPIに内部的にマッピングされ、コードがプラットフォーム間で実行されるようにします。

modularitydoesnotdirectlyectlyectjava'splatformindepensence.java'splatformendepenceismaindainededainededainededaindainedaindained bythejvm、butmodularityinfluencesApplucationStructure andmanagement、間接的なインパクチャプラット形成依存性.1)

bytecodeinjavaisthe intermediaterepresentationthateNablesplatformindepence.1)javacodeis compiledintobytecodestoredin.classfiles.2)thejvminterpretsorcompilesthisbytecodeintomachinecodeatime、

javaachievesplatformedenceTheTheTheJavavirtualMachine(JVM)、これは、javacodeisisisisisissompiledIntobytecode.2)javaCodeisisisisissompiledevedevicetecode.2)

Javagui開発におけるプラットフォームの独立性は課題に直面していますが、Swing、Javafx、統一外観、パフォーマンス最適化、サードパーティライブラリ、クロスプラットフォームテストを使用することで対処できます。 Javaguiの開発は、クロスプラットフォームの一貫性を提供することを目的としたAWTとSwingに依存していますが、実際の効果はオペレーティングシステムごとに異なります。ソリューションには以下が含まれます。1)SwingおよびJavafxをGUIツールキットとして使用します。 2)uimanager.setlookandfeel()を介して外観を統合します。 3)さまざまなプラットフォームに合わせてパフォーマンスを最適化します。 4)ApachepivotやSWTなどのサードパーティライブラリを使用する。 5)一貫性を確保するために、クロスプラットフォームテストを実施します。

javadevelopmentisnotentirelylylypratform-IndopentDuetoseveralfactors.1)jvmvariationsaffectperformanceandbehavioracrossdifferentos.2)nativeLibrariesviajniintroducePlatform-specificissues.3)giaiasystemsdifferbeTioneplateplatifflics.4)

Javaコードは、さまざまなプラットフォームで実行するときにパフォーマンスの違いがあります。 1)JVMの実装と最適化戦略は、OracleJDKやOpenJDKなどとは異なります。 2)メモリ管理やスレッドスケジューリングなどのオペレーティングシステムの特性もパフォーマンスに影響します。 3)適切なJVMを選択し、JVMパラメーターとコード最適化を調整することにより、パフォーマンスを改善できます。

java'splatformindepentedencehaslimitationsincludingporformanceoverhead、versioncompatibulisisues、changleSwithnativeLibraryIntegration、プラットフォーム固有の機能、およびjvminStallation/maintenation。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

ドリームウィーバー CS6
ビジュアル Web 開発ツール

WebStorm Mac版
便利なJavaScript開発ツール

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

ホットトピック









