ホームページ >Java >&#&チュートリアル >HttpUrlConnection を使用して Java で HTTP リクエストを送信するにはどうすればよいですか?

HttpUrlConnection を使用して Java で HTTP リクエストを送信するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-21 00:09:11449ブラウズ

How to Send HTTP Requests in Java using HttpUrlConnection?

Java での HTTP リクエストの送信

HTTP リクエストを送信する機能は、Java でリモート サーバーおよび Web API と対話するために不可欠です。 HTTP リクエストを作成して送信する 1 つの方法は、java.net.HttpUrlConnection クラスを使用することです。

HTTP リクエストの作成

HTTP リクエストを作成するには、次の手順:

  1. URL を作成するobject: これは、HTTP リクエストのターゲット URL を表します。
  2. 接続を開く: URL で openConnection() メソッドを使用して、サーバーへの接続を確立します。
  3. リクエストメソッドの設定: を使用して HTTP メソッド (例: GET、POST、PUT) を指定します。 setRequestMethod() メソッド。
  4. リクエスト プロパティの設定: コンテンツ タイプ、言語、キャッシュ設定など、HTTP リクエストのさまざまなプロパティを構成します。
  5. 有効Output: setDoOutput(true) を設定して、リクエストへのデータの書き込みを有効にしますbody.

HTTP リクエストの送信

リクエストが作成されたら、DataOutputStream を使用してサーバーに送信できます:

  1. 書き込みリクエスト本文: writeBytes() メソッドを使用して、リクエスト本文 (存在する場合) を出力ストリームに送信します。
  2. 出力ストリームを閉じます: これでリクエストの送信が完了しました。

HTTP レスポンスの取得

リクエストを送信すると、サーバー:

  1. 入力ストリームの取得: getInputStream() メソッドを使用して、応答の入力ストリームを取得します。
  2. 応答の読み取り: BufferedReader を使用して、応答ストリーム行の内容を読み取ります。 line.
  3. 応答本文の解析: 応答本文には、サーバーから返された実際のデータが含まれる場合があります。それに応じて解析できます。

コード スニペットの例

次の Java コードは、HttpUrlConnection クラスを使用して HTTP POST リクエストを送信する方法を示しています。

import java.net.HttpURLConnection;
import java.net.URL;
import java.io.DataOutputStream;
import java.io.InputStream;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;

public class HttpPostExample {

  public static void main(String[] args) {
    String targetURL = "https://example.com/api/endpoint";
    String urlParameters = "key1=value1&key2=value2";

    HttpURLConnection connection = null;

    try {
      URL url = new URL(targetURL);
      connection = (HttpURLConnection) url.openConnection();
      connection.setRequestMethod("POST");
      connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
      connection.setRequestProperty("Content-Length", Integer.toString(urlParameters.getBytes().length));
      connection.setDoOutput(true);

      DataOutputStream wr = new DataOutputStream(connection.getOutputStream());
      wr.writeBytes(urlParameters);
      wr.close();

      InputStream is = connection.getInputStream();
      BufferedReader rd = new BufferedReader(new InputStreamReader(is));
      StringBuilder response = new StringBuilder();
      String line;
      while ((line = rd.readLine()) != null) {
        response.append(line);
        response.append('\r');
      }
      rd.close();
      System.out.println(response.toString());
    } catch (IOException e) {
      e.printStackTrace();
    } finally {
      if (connection != null) {
        connection.disconnect();
      }
    }
  }
}

以上がHttpUrlConnection を使用して Java で HTTP リクエストを送信するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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