Java openStream ошибка - PullRequest
       4

Java openStream ошибка

2 голосов
/ 11 октября 2010

Я использую метод openStream с Java

in = new BufferedReader(new InputStreamReader(url.openStream(), "UTF-8"));

Как долго метод ожидает ответа от службы, в которой отправляется URL?

Я получаю такие же сообщения об ошибках, как это, и я не знаю, почему.

java.net.UnknownHostException: dev.virtualearth.net

               at java.net.PlainSocketImpl.connect(Unknown Source)
               at java.net.Socket.connect(Unknown Source)
               at java.net.Socket.connect(Unknown Source)
               at sun.net.NetworkClient.doConnect(Unknown Source)
               at sun.net.www.http.HttpClient.openServer(Unknown Source)
               at sun.net.www.http.HttpClient.openServer(Unknown Source)
               at sun.net.www.http.HttpClient.<init>(Unknown Source)
               at sun.net.www.http.HttpClient.New(Unknown Source)
               at sun.net.www.http.HttpClient.New(Unknown Source)
               at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source)
               at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
               at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)
               at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
               at java.net.URL.openStream(Unknown Source)

Спасибо

Ответы [ 3 ]

1 голос
/ 24 февраля 2012

Возможно, вы находитесь за брандмауэром, поэтому вы можете добавить:

System.setProperty ("java.net.useSystemProxies", "true"); // если вы установили системный прокси

или

System.setProperty ( "http.proxySet", "истина");

System.setProperty ( "ProxyPort", "порт");

System.setProperty ( "proxyHost", "proxyhost");

System.setProperty ("http.proxyUser", "user");

System.setProperty ("http.proxyPassword", "пароль");

к связанному классу Java

1 голос
/ 11 октября 2010

openStream() метод является ярлыком для URL.openConnection().getInputStream()

. Вы можете установить время ожидания самостоятельно:

URLConnection con = url.openConnection();
con.setConnectTimeout(XXX);

Из JDK: «Если время ожидания истекает до того, как соединение можетбыть установленным, java.net.SocketTimeoutException повышается. Время ожидания нуля интерпретируется как бесконечное время ожидания. "

Время ожидания по умолчанию: 0

Ваше исключение"Брошенный, чтобы указать, что IP-адрес хоста не может быть определен. "

0 голосов
/ 11 октября 2010

java.net.UnknownHostException: dev.virtualearth.net означает, что ваша DNS-конфигурация неверна, поскольку Java не знает, как разрешить dev.virtualearth.net в IP-адрес. Каково строковое представление URL, который вы открываете?

...