Как отправить post запрос java

Аватар пользователя Иван Полежаев
Иван Полежаев
11 апреля 2023

Чтобы отправить POST-запрос в Java, вы можете использовать стандартную библиотеку java.net.HttpURLConnection

Вот пример кода, который отправляет POST-запрос на сервер и выводит ответ:

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;

public class HttpPostRequest {
    public static void main(String[] args) {
        try {
            // Создаем URL-адрес для запроса
            URL url = new URL("http://www.example.com/api");

            // Создаем объект HttpURLConnection и настраиваем его
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setRequestMethod("POST");
            connection.setDoOutput(true);

            // Создаем тело запроса
            String body = "param1=value1&param2=value2";

            // Записываем тело запроса в поток вывода
            OutputStreamWriter writer = new OutputStreamWriter(connection.getOutputStream());
            writer.write(body);
            writer.flush();

            // Считываем ответ от сервера
            BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
            String line;
            StringBuilder response = new StringBuilder();
            while ((line = reader.readLine()) != null) {
                response.append(line);
            }
            reader.close();

            // Выводим ответ от сервера
            System.out.println(response.toString());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
  • Здесь мы создаем объект HttpURLConnection и настраиваем его для отправки POST-запроса
  • Затем мы записываем тело запроса в поток вывода и считываем ответ от сервера с помощью BufferedReader
  • В конце мы выводим ответ от сервера на экран.

Обратите внимание, что в примере мы отправляем запрос с параметрами param1 и param2, но вы можете изменить их на свои параметры в зависимости от вашего запроса.

1 0