Прокси с классом Java URLConnection - PullRequest
5 голосов
/ 25 ноября 2011

Я очень новичок в Java. Я использую следующий код для вызова REST API, он работает нормально в простой среде, но когда я использовал с прокси-средой, он выбрасывает NullPointerException . Я нашел результат на Google, что мы должны установить настройки прокси для этого. Я установил прокси в соответствии с этой статьей http://www.javaworld.com/javaworld/javatips/jw-javatip42.html, но это не работает + base64Encode (пароль) создание синтаксической ошибки.

URL url = new URL("http://examplerestapi/get/user");
URLConnection yc = url.openConnection();



in = new BufferedReader(new InputStreamReader(yc.getInputStream()));
String inputLine;

while ((inputLine = in.readLine()) != null) {
       sb.append(inputLine);
}

String res = sb.toString();

, пожалуйста, помогите мне установить прокси-хост, порт, имя пользователя и пароль.

1 Ответ

18 голосов
/ 25 ноября 2011

Я подозреваю, что ваш NullPointerException происходит, потому что yc.getInputStream() возвращает null.Вам нужно проверить, что оно возвращает ненулевое значение, прежде чем пытаться создать читатель для чтения из него байтов.

Что касается проблемы с прокси, вы можете передать объект Proxy в соединение,Например:

Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("my.proxy.example.com", 3128));
URLConnection yc = url.openConnection(proxy);

Это может, по крайней мере, позволить вам опросить Прокси-сервер и исключить потенциальные источники проблемы (их несколько).

Этот поток может иметь некоторые полезные советы для правильной работы строки имени пользователя и пароля прокси.Ссылка на статью выглядит несколько устаревшей.

...