Не удается загрузить с HttpClient с другим портом сервера - PullRequest
2 голосов
/ 19 августа 2010

Я использую Apache HttpClient через httpclient-fluent-builder для загрузки http-страницы.

Это код:

...
try {
    response = Http.get("http://fr3.ah.fm:9000/played.html")
        .use(client)                // use this HttpClient (required)
        .charset("windows-1252")      // set the encoding... (optional)
        .asString();
} catch (IOException e) {
    Log.d(TAG, "Error: "+e.toString());
    e.printStackTrace();
} 
Log.i(TAG, ""+ response );
...

Проблема в том, что яget org.apache.http.client.ClientProtocolException

Это что-то с хостом: port / url, потому что это работает с URL-адресами без портов.Я также получаю ту же ошибку с другим классом Httphelper, а не свободно-строителем.Брандмауэр выключен.

Logcat: http://pastebin.com/yMMvvdQ3

Ответы [ 2 ]

2 голосов
/ 20 августа 2010

Через эту запись узнал, что это был сервер Shoutcast ...

Вы должны быть в состоянии подключиться к 8000 с вашим веб-браузером и получите DNAS страница состояния. Если, с другой стороны, вы подключаетесь к этому порту с медиа плеер, он вернет прямой MP3 поток. ( К сожалению, в невероятно хладнокровный образец дизайна, как SHOUTcast решает, какой ответить, нюхая Заголовок User-Agent для чего-то начиная с Mozilla , так что если вы используя альтернативный браузер или блокируя свой UA, вы не сможете получить статус, и если поток вниз вы можете просто ничего не получить.)

Сводил меня с ума .. Но это легко исправить. Я только что добавил.

.header("User-Agent", "UserAgent: Mozilla/5.0")
0 голосов
/ 19 августа 2010

попробуйте установить URI с помощью HttpHost и использовать его в HttpClient.execute ().

Я не пробовал это

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...