source

Java에서 HTTP GET을 실행하려면 어떻게 해야 하나요?

gigabyte 2022. 8. 16. 23:29
반응형

Java에서 HTTP GET을 실행하려면 어떻게 해야 하나요?

Java에서 HTTP GET을 실행하려면 어떻게 해야 하나요?

웹 페이지를 스트리밍하려면 다음 방법을 사용할 수 있습니다.

import java.io.*;
import java.net.*;

public class c {

   public static String getHTML(String urlToRead) throws Exception {
      StringBuilder result = new StringBuilder();
      URL url = new URL(urlToRead);
      HttpURLConnection conn = (HttpURLConnection) url.openConnection();
      conn.setRequestMethod("GET");
      try (BufferedReader reader = new BufferedReader(
                  new InputStreamReader(conn.getInputStream()))) {
          for (String line; (line = reader.readLine()) != null; ) {
              result.append(line);
          }
      }
      return result.toString();
   }

   public static void main(String[] args) throws Exception
   {
     System.out.println(getHTML(args[0]));
   }
}

기술적으로는, 스트레이트 TCP 소켓으로 실행할 수 있습니다.하지만 나는 그것을 추천하지 않을게요.대신 Apache HttpClient를 사용하는 것이 좋습니다.가장 간단한 형태:

GetMethod get = new GetMethod("http://httpcomponents.apache.org");
// execute method and handle any error responses.
...
InputStream in = get.getResponseBodyAsStream();
// Process the data from the input stream.
get.releaseConnection();

여기 더 완벽한 예가 있습니다.

외부 라이브러리를 사용하지 않으려면 표준 Java API에서 URL 및 URL Connection 클래스를 사용할 수 있습니다.

예를 들어 다음과 같습니다.

String urlString = "http://wherever.com/someAction?param1=value1&param2=value2....";
URL url = new URL(urlString);
URLConnection conn = url.openConnection();
InputStream is = conn.getInputStream();
// Do what you want with that stream

서드파티 라이브러리를 필요로 하지 않는 가장 간단한 방법은 URL 개체를 만든 다음 해당 개체에서 openConnection 또는 openStream을 호출하는 것입니다.이것은 매우 기본적인 API이기 때문에 헤더를 많이 제어할 수 없습니다.

언급URL : https://stackoverflow.com/questions/1485708/how-do-i-do-a-http-get-in-java

반응형