2010-10-11 2 views
2

Я использую метод Openstream с JavaJava Openstream ошибка

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) 

Благодаря

+0

вы можете пинговать хост? –

+0

да могу. код работает в одно и то же время и в то же время не – Haythem

ответ

0

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

+0

Я использую объект URL. и http: // .. дает мне ответ, когда я называю это своим веб-браузером. Я тоже думаю, что это проблема с конфигурацией DNS. Вы знаете, в чем проблема? – Haythem

+0

Вы иногда получаете сообщение об ошибке при просмотре? –

+0

никогда не получите ошибку с помощью веб-браузера. – Haythem

1

openStream() метод является сокращением для URL.openConnection().getInputStream()

вы можете установить тайм-аут по себе:

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

От JDK: «Если тайм-аут истекает до того, можно установить соединение, java.net.SocketTimeoutException. Тайм-аут нуля интерпретируется как бесконечный тайм-аут ».

тайм-аут по умолчанию 0

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

+0

Как это исправить? – Haythem

1

кажется, что вы могли бы быть за межсетевым экраном, так что вы можете добавить:

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

или

System.setProperty ("http.proxySet", "правда");

System.setProperty ("proxyPort", "port");

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

System.setProperty («http.proxyUser», «пользователь»);

System.setProperty ("http.proxyPassword", "password");

родственного класс Java

+0

http.proxySet - городской миф. Это не имеет никакого эффекта. – EJP

 Смежные вопросы

  • Нет связанных вопросов^_^