프로그래밍 언어/JAVA

Java에서 HTTP 요청을 보내는 방법

Rateye 2021. 7. 15. 10:25
728x90
반응형
질문 : Java에서 HTTP 요청을 보내는 방법은 무엇입니까?

Java에서 HTTP 요청 메시지를 작성하여 HTTP WebServer로 보내는 방법은 무엇입니까?

답변

java.net.HttpUrlConnection 을 사용할 수 있습니다.

개선 된 예 ( 여기에서). 링크 부패의 경우 포함 :

public static String executePost(String targetURL, String urlParameters) {
  HttpURLConnection connection = null;

  try {
    //Create connection
    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.setRequestProperty("Content-Language", "en-US");  

    connection.setUseCaches(false);
    connection.setDoOutput(true);

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

    //Get Response  
    InputStream is = connection.getInputStream();
    BufferedReader rd = new BufferedReader(new InputStreamReader(is));
    StringBuilder response = new StringBuilder(); // or StringBuffer if Java version 5+
    String line;
    while ((line = rd.readLine()) != null) {
      response.append(line);
      response.append('\r');
    }
    rd.close();
    return response.toString();
  } catch (Exception e) {
    e.printStackTrace();
    return null;
  } finally {
    if (connection != null) {
      connection.disconnect();
    }
  }
}
출처 : https://stackoverflow.com/questions/1359689/how-to-send-http-request-in-java
728x90
반응형