views:

53

answers:

2

I am using Apache's HttpClient via httpclient-fluent-builder to download a http page.

This is the code:

...
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 );
...

Problem is that I get org.apache.http.client.ClientProtocolException

It's something with the host:port/url, beacause it works with urls without ports. I also get this same error with another Httphelper class than fluent-builder. Firewall is off.

Logcat: http://pastebin.com/yMMvvdQ3

A: 

try to set the uri using HttpHost and use it in HttpClient.execute().

I have not tried it..

Vinay
A: 

Found out what it was via this post that it was the Shoutcast server...

You should be able to connect to 8000 with your web browser and get the DNAS status page. If, on the other hand, you connect to that port with a media player, it'll return the direct MP3 stream. (Unfortunately, in an incredibly boneheaded piece of design, the way SHOUTcast decides which to respond with is by sniffing your User-Agent header for something beginning with Mozilla, so if you're using an alternative browser or blocking your UA you'll not be able to get the status, and if the stream's down you might just get nothing.)

Drove me crazy.. But it's an easy fix. I just added.

.header("User-Agent", "UserAgent: Mozilla/5.0")
droidgren