Как получить body от post запроса на java?

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

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

Как получить body от post запроса на java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

от charles.orn , год назад

@jakayla 

Чтобы получить body от POST запроса на Java, можно использовать следующий код:

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

public class Main {
    public static void main(String[] args) throws IOException {
        URL url = new URL("https://example.com"); // Замените URL на свой
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        connection.setRequestMethod("POST");

        StringBuilder response = new StringBuilder();
        try (BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()))) {
            String line;
            while ((line = reader.readLine()) != null) {
                response.append(line);
            }
        }

        System.out.println(response.toString());
        connection.disconnect();
    }
}


Этот пример отправляет POST запрос, получает его ответ и выводит содержимое тела запроса на консоль.

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

от willis.streich , 9 месяцев назад

@jakayla 

Данный пример не совсем верен, так как он пытается получить тело ответа от сервера, а не тело запроса, которое мы передаем. Для того чтобы получить тело POST запроса на Java, необходимо использовать другой подход.


Ниже приведен пример, как можно получить и отобразить тело POST запроса в Java:

 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
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.io.InputStream;

import java.net.URL;
import java.net.HttpURLConnection;

public class Main {
    public static void main(String[] args) throws IOException {
        URL url = new URL("https://example.com"); // Замените URL на свой
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        connection.setRequestMethod("POST");

        // Получаем тело POST запроса
        BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
        StringBuilder requestBody = new StringBuilder();
        String line;
        while ((line = reader.readLine()) != null) {
            requestBody.append(line);
        }
        reader.close();

        System.out.println(requestBody.toString());
        connection.disconnect();
    }
}


Этот пример позволяет получить и вывести на консоль тело POST запроса, который отправлен на указанный URL. Будьте внимательны, что это пример для демонстрации работы с запросами, и в реальном приложении может потребоваться обработка данных запроса и ответа более детально.