Как сделать http запрос на java?

Пользователь

от nikko , в категории: Java , 3 года назад

Как сделать http запрос на java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от ally , 2 года назад

@nikko 

Для отправки HTTP-запроса в Java можно использовать класс java.net.HttpURLConnection. Ниже приведен пример кода, который отправляет GET-запрос на указанный URL и выводит ответ сервера в консоль:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class Main {
    public static void main(String[] args) throws Exception {
        // Создаем URL-объект
        URL url = new URL("http://www.example.com");

        // Создаем соединение
        HttpURLConnection con = (HttpURLConnection) url.openConnection();

        // Устанавливаем метод запроса - GET
        con.setRequestMethod("GET");

        // Отправляем запрос и считываем ответ
        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, OkHttp или другие, которые предоставляют более удобный интерфейс для работы с HTTP-запросами.


Обратите внимание, что в этом примере используется устаревший класс

Пользователь

от stephon , 2 года назад

@nikko 

Для выполнения HTTP-запросов на Java можно использовать классы из стандартной библиотеки Java или сторонние библиотеки, такие как Apache HttpClient или OkHttp. Вот пример использования стандартных классов Java для выполнения GET-запроса:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import java.net.HttpURLConnection;
import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;

public class HttpExample {
    public static void main(String[] args) throws IOException {
        // Создаем объект URL
        URL url = new URL("https://www.example.com");

        // Создаем объект HttpURLConnection
        HttpURLConnection con = (HttpURLConnection) url.openConnection();

        // Устанавливаем метод запроса (GET)
        con.setRequestMethod("GET");

        // Получаем код ответа от сервера
        int responseCode = con.getResponseCode();
        System.out.println("Response code: " + responseCode);

        // Создаем BufferedReader для чтения ответа от сервера
        BufferedReader in = new BufferedReader(
                new InputStreamReader(con.getInputStream()));
        String inputLine;
        StringBuffer response = new StringBuffer();

        // Читаем ответ от сервера и сохраняем его в StringBuffer
        while ((inputLine = in.readLine()) != null) {
            response.append(inputLine);
        }
        in.close();

        // Выводим полученный ответ
        System.out.println(response.toString());
    }
}


В этом примере создается объект URL для адреса https://www.example.com. Затем создается объект HttpURLConnection и устанавливается метод запроса на GET. Выполняется запрос и получается код ответа от сервера. Затем ответ от сервера читается с помощью BufferedReader и сохраняется в StringBuffer. В конце полученный ответ выводится на экран.


Обратите внимание, что этот код может выкинуть IOException, который необходимо обработать. Кроме того, в реальном приложении важно закрывать соединение после выполнения запроса, что здесь не показано.