HttpRequest uri неправильно анализирует URL-адрес - PullRequest
0 голосов
/ 05 августа 2020

Я хочу сделать http-запрос, используя java http-клиент (HttpClient). Запрашиваемый мной сервер - это служба на Docker, к которой я могу получить доступ по ее имени службы.

Вот мой код:


            URIBuilder uriBuilder = new URIBuilder()
                .setScheme("http")
                .setHost("my_docker_service_name:5000" + "/balance/")
                .setParameter("account_id", "1")
                .setParameter("timestamp", "1596637676")
            ;


            HttpRequest httpRequest = HttpRequest.newBuilder()
                .GET()
                .uri(uriBuilder.build())
                .build();

При этом я получаю следующую ошибку:

java.lang.IllegalArgumentException: unsupported URI http://my_docker_service_name:5000/?account_id=1&timestamp=1596637676

Если я заменю my_docker_service_name адресом ipv4, HTTP-запрос будет работать должным образом.

Вы видите, что я делаю неправильно?

Многие спасибо за помощь

1 Ответ

0 голосов
/ 07 августа 2020

Я обнаружил проблему с моим запросом: uri содержит символы подчеркивания, которые не поддерживаются клиентом http java, как указано в этом ответе { ссылка }

...