>Java >java지도 시간 >HttpUrlConnection을 사용하여 Java에서 HTTP 요청을 보내는 방법은 무엇입니까?

HttpUrlConnection을 사용하여 Java에서 HTTP 요청을 보내는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-21 00:09:11451검색

How to Send HTTP Requests in Java using HttpUrlConnection?

Java에서 HTTP 요청 보내기

HTTP 요청을 보내는 기능은 Java에서 원격 서버 및 웹 API와 상호 작용하는 데 필수적입니다. HTTP 요청을 작성하고 전송하는 한 가지 방법은 java.net.HttpUrlConnection 클래스를 사용하는 것입니다.

HTTP 요청 생성

HTTP 요청을 생성하려면 다음을 사용할 수 있습니다. 다음 단계:

  1. URL 개체 만들기: 이는 HTTP 요청의 대상 URL입니다.
  2. 연결 열기: URL에서 openConnection() 메서드를 사용하여 서버에 대한 연결을 설정합니다.
  3. 설정 요청 방법: setRequestMethod()를 사용하여 HTTP 방법(예: GET, POST, PUT)을 지정합니다. 메서드.
  4. 요청 속성 설정: 콘텐츠 유형, 언어, 캐시 설정 등 HTTP 요청의 다양한 속성을 구성합니다.
  5. 출력 활성화: 요청에 데이터 쓰기를 활성화하려면 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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