Одна из возможностей состоит в том, что URL содержит некоторые символы, которые недопустимы в URL, например, пробел или что-то вне диапазона ASCII.Это нужно каким-то образом преобразовать, чтобы отправить как URL, например как escape-последовательности% HH.Браузеры делают это автоматически при вводе адреса, но не все делают это одинаково.Например, некоторые используют рекомендуемое в настоящее время соглашение о преобразовании в последовательности UTF-8, но некоторые используют ISO-8859-1.Некоторые преобразовывают пространство в +, а некоторые в% 20.Если вы хотите, чтобы ваша программа обрабатывала URL-адрес так же, как браузер, вы должны правильно кодировать код Java.