Почему я получаю соединение отказано?

Я пытаюсь получить некоторые данные из openweathermap.org через Java, но когда я запускаю код, я получаю исключение ConnectionException.

Мой код:

public static void openweathermapTest1() {
    String uri = "http://openweathermap.org/data/2.1/find/station?lat=55&lon=37&cnt=10";
    ClientConfig config = new DefaultClientConfig();
    Client client = Client.create(config);
    WebResource service = client.resource(uri);
    String xml = service.accept(MediaType.TEXT_XML).get(String.class);
    System.out.println("Output as XML: " + xml);
}

и исключение:

Exception in thread "main"
com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused: connect
at com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:151)
at com.sun.jersey.api.client.Client.handle(Client.java:648)     
at com.sun.jersey.api.client.WebResource.handle(WebResource.java:680)   
at com.sun.jersey.api.client.WebResource.access$200(WebResource.java:74)
at com.sun.jersey.api.client.WebResource$Builder.get(WebResource.java:507)
at GetPoint.openweathermapTest1(GetPoint.java:110)
at GetPoint.main(GetPoint.java:142)

Странно, когда я вызываю эту ссылку в своем веб-браузере, я получаю ожидаемые данные. Как это может быть? Что мне здесь не хватает? И как я могу это исправить? (Я попробовал все три URI, и все работали в Firefox, а не в моей программе)

2 ответа

Решение

Ответ довольно прост: мой рабочий компьютер находится за прокси-сервером, и только Firefox использовал его. С небольшим количеством прокси магии я наконец смог получить ожидаемый результат.

Спасибо Тому и Джиму Гаррисону за их полезные комментарии!

Изменить: я использовал следующий код для использования прокси:

private static void useProxy(String host, int port)
{
    System.setProperty("http.proxySet", "true");
    System.setProperty("http.proxyHost", host);
    System.setProperty("http.proxyPort", String.valueOf(port));
}

Я столкнулся с той же проблемой. Мой был исправлен, когда я перепроверил свою установку JAVA. У меня были и JDK 6, и 7.. этот вид испорчен.. поэтому я полностью удалил jdk 7 и указал на jdk 6. Так что версия командной строки, eclipse и server все должны указывать на один и тот же jdk... это решило ошибку.

Другие вопросы по тегам