Я написал ниже код для доступа к веб-странице и запуска в Ubuntu.Как подключиться к Интернету через прокси?
Как исправить это? Я пробовал предлагаемые исправления со всего Интернета, но до сих пор не могу найти решение.
Я написал ниже код для доступа к веб-странице и запуска в Ubuntu.Как подключиться к Интернету через прокси?
Как исправить это? Я пробовал предлагаемые исправления со всего Интернета, но до сих пор не могу найти решение.
A 407
ответ означает «Требуется прокси-аутентификация», как описано here.
Теперь вы устанавливаете прокси-пользователя и пароль в свойствах Системы, но, по-видимому, он не работает. Я могу придумать пару объяснений:
Возможно, вы слишком поздно устанавливаете свойства. Эти свойства считываются по умолчанию ProxySelector
и Authenticator
по мере их инициализации. Если вы установите их слишком поздно, тогда их не будут уважать. Попробуйте установить свойства с помощью параметров -D...
.
Возможно, вы используете неправильное имя пользователя и пароль прокси.
Прокси-сервер может ожидать, что данные аутентификации прокси-сервера будут в другой форме, чем они предоставляются. Взгляните на заголовки в ответе на неудавшийся запрос. Должен быть заголовок «Прокси-аутентификация», который включает «вызов».
Если этот подход не работает, то другой альтернативы можно было бы осуществить выбор прокси-сервера и аутентификации путем внедрения программно и регистрации собственных ProxySelector
и Authenticator
классы.
Followup
Я включил класс ProxyAuthenticator и теперь, "java.net.ProtocolException: Сервер перенаправлены слишком много раз (20)" выбрасывается.
Как-то ваше приложение попало в цикл перенаправления.
Я все еще не уверен, что вы установите свойства прокси на достаточно раннем этапе.
@ user2699073 - Как я уже сказал в своем ответе. Используйте параметр командной строки -D .... (Прочитайте ручную запись 'java'. Это объясняется там.) –
@ user2699073 - Попробуйте использовать Wireshark (или эквивалент), чтобы посмотреть, что есть в HTTP-запросах и ответах. Это должно сказать вам, идут ли запросы в нужное место, какие запросы и ответы действительно содержат, и (для ответов) то, что вы перенаправляете тоже. –
измените это на http://www.example.com/index.html и он должен работать – Satya