Java API 開発の実践: データ送信に HTTP プロトコルを使用する方法?
HTTP (HyperText Transfer Protocol) は、ファイル (HTML ファイル、画像、オーディオ、ビデオなど) を転送するために使用されるプロトコルです。 Web アプリケーションを開発する場合、多くの場合、HTTP プロトコルを使用して Web サーバーと通信する必要があります。 Java には、HTTP プロトコルを使用してデータを送信するためのさまざまな方法が用意されていますが、この記事では、Java API を使用して HTTP データを送信する方法を紹介します。
HttpURLConnection は、クライアントとサーバー間の HTTP 接続を確立するために使用される Java の組み込みクラスです。このクラスは、GET または POST メソッドを介してサーバーにデータを送信するなど、データ転送に使用できます。
次は、HttpURLConnection クラスを使用して GET リクエストをサーバーに送信するサンプル コードです:
import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; public class HttpURLConnectionExample { private static final String USER_AGENT = "Mozilla/5.0"; public static void main(String[] args) throws Exception { String url = "http://www.example.com"; URL obj = new URL(url); HttpURLConnection con = (HttpURLConnection) obj.openConnection(); con.setRequestMethod("GET"); con.setRequestProperty("User-Agent", USER_AGENT); int responseCode = con.getResponseCode(); System.out.println("Response Code : " + responseCode); BufferedReader in = new BufferedReader( new InputStreamReader(con.getInputStream())); String inputLine; StringBuffer response = new StringBuffer(); while ((inputLine = in.readLine()) != null) { response.append(inputLine); } in.close(); System.out.println(response.toString()); } }
Apache HttpClient は、Web サーバーに GET または POST リクエストを送信するために使用できるオープン ソースの Java HTTP クライアント ライブラリであり、複数の認証方法などの高度な機能をサポートします。
以下は、Apache HttpClient クラス ライブラリを使用して GET リクエストを送信するサンプル コードです。
import org.apache.http.HttpEntity; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils; public class ApacheHttpClientExample { public static void main(String[] args) throws Exception { CloseableHttpClient httpclient = HttpClients.createDefault(); HttpGet httpget = new HttpGet("http://www.example.com"); CloseableHttpResponse response = httpclient.execute(httpget); try { HttpEntity entity = response.getEntity(); if (entity != null) { System.out.println(EntityUtils.toString(entity)); } } finally { response.close(); } } }
OkHttp が開発されましたby Square Android 開発で広く普及している、使いやすくパフォーマンスに優れた効率的な HTTP クライアント ライブラリです。 OkHttp は、GET、POST、PUT、DELETE などの複数の HTTP リクエスト メソッドをサポートします。
次は、OkHttp クラス ライブラリを使用して GET リクエストを行うサンプル コードです:
import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; import java.io.IOException; public class OkHttpExample { private final OkHttpClient httpClient = new OkHttpClient(); public static void main(String[] args) throws IOException { OkHttpExample http = new OkHttpExample(); System.out.println("Sending GET request..."); String response = http.sendGet("http://www.example.com"); System.out.println(response); } private String sendGet(String url) throws IOException { Request request = new Request.Builder() .url(url) .build(); try (Response response = httpClient.newCall(request).execute()) { if (!response.isSuccessful()) throw new IOException("Unexpected code " + response); return response.body().string(); } } }
概要:
Java 開発者の場合、これは HttpURLConnection を使用して実現できます。 Apache HttpClient または OkHttp HTTP データ送信。どちらの方法を選択するかは、特定のニーズとプロジェクトの特性に応じて決定できます。 Java API を使用すると、HTTP データ送信を簡単に完了できるため、柔軟性と拡張性も向上します。
以上がJava API 開発の実践: データ送信に HTTP プロトコルを使用する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。