Java Как отправить запрос на сервер

207
09 июня 2019, 04:40

Сделал на томкате скрипт что, если с браузера зайти на http://localhost:8080/helloservlet/hello, то мне в вк отправится hello в личные сообщения. Как сделать запрос не из браузера, а из java?

пытался таким способом, но не работает

import java.net.HttpURLConnection;
import java.net.URL;
public class test {
    public static void main(String[] args) {
        String query = "http://localhost:8080/helloservlet/hello";
        HttpURLConnection connection = null;
        try {
            connection = (HttpURLConnection) new URL(query).openConnection();
            connection.setRequestMethod("GET");
            connection.connect();
        } catch (Exception e) {
        } finally {
            if (connection != null) connection.disconnect();
        }
    }
}

Что я хочу: чтоб я запустил код java -> отправился запрос на сервер -> сработал срикпт на сервере -> отправился Hello мне в лс в вк

Answer 1

Ваш код не отправляет запрос, Вам необходимо начать считывать ответ:

    try (Scanner scanner =
                 new Scanner(
                         new BufferedInputStream(
                                 httpURLConnection.getInputStream()
                         )
                 )
    ) {
        while (scanner.hasNextLine()) {
            System.out.println(scanner.nextLine());
        }
    }

или хотя бы статус:

httpURLConnection.getResponseCode()

Answer 2

Проблема связана с операцией openConnection, она только создаёт соединение как объект, но при этом не отправляет запрос, для самого запроса необходимо, как написано в ответе ранее, вызвать функцию getInputStream() или getResponseCode()

READ ALSO
Как преобразовать код так, чтобы было хотя бы два метода?

Как преобразовать код так, чтобы было хотя бы два метода?

Первый метод public static void main(String[] agrs) - точка входа, а второй - реализация заданияУ меня реализация в public static void main(String[] agrs), но надо сделать по другому

117
сохранение на одном строке

сохранение на одном строке

когда добавлю комментария оно сохраняется в одном же строкеВот код который сохраняет в беззе

176
Как необходимо изменить код так, чтобы можно было вводить несколько sourcePrefix?

Как необходимо изменить код так, чтобы можно было вводить несколько sourcePrefix?

Есть файл s1, который нужно скопировать в sНо как сделать так, чтобы можно было несколько файлов скопировать в один и как реализовать с помощью...

118
Сериализация объекта в Android

Сериализация объекта в Android

Пишу игру под AndroidСтоит задача каким-то образом хранить данные

118