GManz
GManz

Reputation: 1659

httpclient returns gibberish

I'm trying to use HTTPClient to get a page, but it seems to return gibberish (I think binary).

Here's my code:

public Boolean getPage(String url, String referer) {
    httpClient.getParams().setParameter("http.protocol.version", HttpVersion.HTTP_1_1);
    httpClient.getParams().setParameter("http.socket.timeout", new Integer(1000));
    httpClient.getParams().setParameter("http.protocol.content-charset", "UTF-8");

    HttpGet httpGet = new HttpGet(url);
    response = null;

    httpGet.setHeader("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3");
    httpGet.setHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
    httpGet.setHeader("Accept-Charset", "ISO-8859-1,utf-8;q=0.7,*;q=0.7");
    httpGet.setHeader("Accept-Encoding", "gzip,deflate");
    httpGet.setHeader("Referer", referer);

    int tryNumber = 0;

    while(tryNumber<5){
        tryNumber++;
        try {
            ResponseHandler<String> responseHandler = new BasicResponseHandler();
            ret = httpClient.execute(httpGet,responseHandler).toString();
            Log.v("Info:", ret);
        }
        catch(Exception e) {
            error = e;
            break;
        }
    }
}

Can anyone point out where I'm going wrong?

I'm trying to get the content of this page: http://hosh.me.uk/test.php

See screenshot: http://img.ctrlv.in/4ecd69c40a590.jpg

Hosh

Upvotes: 1

Views: 1524

Answers (1)

Matt Cofer
Matt Cofer

Reputation: 2982

Just a guess, but could it be that the response is compressed? Maybe you should remove the following line so your response will be plain text.

httpGet.setHeader("Accept-Encoding", "gzip,deflate");

Upvotes: 6

Related Questions