Выполнение POST запроса

135
27 ноября 2021, 07:00

Есть код, который выполняет POST запрос по указанной ссылке. Код полностью рабочий.

public static void main(String[] args) throws Exception {
    URL api = new URL("http://site.com/script.php");
    Map<String, String> parameters = new HashMap<>();
    parameters.put("parameter1", "value1");
    parameters.put("parameter2", "value2");
    parameters.put("parameter3", "value3");
    String query = parameters.keySet()
            .stream()
            .map(parameterName -> parameterName + '=' + parameters.get(parameterName))
            .collect(Collectors.joining("&"));
    HttpURLConnection connection = (HttpURLConnection) api.openConnection();
    connection.setRequestMethod("POST");
    connection.setRequestProperty("Content-length", String.valueOf(query.length()));
    connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
    connection.setRequestProperty("User-Agent", "Mozilla/5.0");
    connection.setDoOutput(true);
    connection.setDoInput(true);
    DataOutputStream output = new DataOutputStream(connection.getOutputStream());
    output.writeBytes(query);
    output.close(); //пробовал flush - ничего не отправляет.
    connection.getInputStream();
}

Меня смущает то, что если я не вызову connection.getInputStream();, то запрос не будет выполнен. Я считаю, что это не нормально. Как это делать правильно?

READ ALSO
Вывод переменной на странице из класса

Вывод переменной на странице из класса

Всем доброго дняПомогите пожалуйста, не получается вывести на странице jspx результат запроса из java класса

104
Как уменьшить вложенность кода

Как уменьшить вложенность кода

У меня есть такой методНо у него слишком высокая вложенность

103
Как создать музыкальный плеер на Java?

Как создать музыкальный плеер на Java?

есть идея создать музыкальный плеер на Java/SwingСуть будет вот в чем: 1)Можно будет проигрывать музыку на локальной машине

188
Как будет работать программа?

Как будет работать программа?

Подскажите, пожалуйста, зачем так пишут и как будет работать программа?

195