Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Httpclient не на любые страницы заходит? httpClient.executeMethod(getMethod) бросает искл. / 5 сообщений из 5, страница 1 из 1
23.02.2012, 22:29:20
    #37675942
Александр2012
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Httpclient не на любые страницы заходит? httpClient.executeMethod(getMethod) бросает искл.
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
import org.apache.commons.httpclient.*;
import org.apache.commons.httpclient.methods.*;

import java.io.*;
import org.apache.commons.httpclient.params.HttpMethodParams;

public class Client {

    public static void main(String[] args) throws UnsupportedEncodingException {

        HttpClient httpClient = new HttpClient();
        httpClient.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,
                new DefaultHttpMethodRetryHandler());

        GetMethod getMethod = new GetMethod("http://www.lastfm.ru/music/Edvin+Marton/+tracks"); // адрес к примеру
        try {
            int result = httpClient.executeMethod(getMethod);//!!!!!!!!!!!!!
            if (result == HttpStatus.SC_OK) {
                // Выводим страницу на экран
                System.out.println(getMethod.getResponseBodyAsString());
            } else {
                System.out.println("А страница не загрузилась!!!");
                return;
            }
        } catch (IOException e) {
            System.out.println("Проблемы со связью");// вот сюда и выбрасывает!
            e.printStackTrace();
            return;
        } finally {
            getMethod.releaseConnection();
        }
    }
}



Код: java
1.
int result = httpClient.executeMethod(getMethod);


на пару секунд задумывается и бросает исключение
Но некоторые страницы без проблем обрабатывает.
Как нибудь можно решить это?
...
Рейтинг: 0 / 0
23.02.2012, 22:53:56
    #37675948
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Httpclient не на любые страницы заходит? httpClient.executeMethod(getMethod) бросает искл.
Алгоритм такой - заходишь через браузер на сайт, если он успешно открывается, смотришь заголовки которые ты посылал, потом суешь их в httpclient, и скорее всего исключений не будет
...
Рейтинг: 0 / 0
23.02.2012, 23:14:29
    #37675962
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Httpclient не на любые страницы заходит? httpClient.executeMethod(getMethod) бросает искл.
Собственно, http://www.lastfm.ru/music/Edvin+Marton/+tracks - у меня даже в браузере не открывается, так что вполне обьяснимо почему httpClient обрыгивается
...
Рейтинг: 0 / 0
23.02.2012, 23:17:49
    #37675965
Александр2012
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Httpclient не на любые страницы заходит? httpClient.executeMethod(getMethod) бросает искл.
Но я ссылки беру из браузера. И браузер их открывает без проблем.
Даже удивляюсь как это кто-то умудряется на Джаве писать браузеры :) (если они не везде смогут заходить :) )
...
Рейтинг: 0 / 0
24.02.2012, 01:00:42
    #37676009
Большой Синий Кит
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Httpclient не на любые страницы заходит? httpClient.executeMethod(getMethod) бросает искл.
Александр2012,

У меня фф заходит на страничку
http://www.lastfm.ru/music/Edvin+Marton/+tracks

проверьте хедеры, и еще есть классик org.apache.http.client.URIUtils - попробуйте с его помощью создать урл

И, кстати, в фанйели,если Вы клиента больше не будете использовать, надо делать
client.getConnectionManager().shutdown()
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Httpclient не на любые страницы заходит? httpClient.executeMethod(getMethod) бросает искл. / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]