【问题标题】:httpclient returns gibberishhttpclient 返回乱码
【发布时间】:2011-11-23 21:47:25
【问题描述】:

我正在尝试使用 HTTPClient 获取页面,但它似乎返回乱码(我认为是二进制)。

这是我的代码:

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;
        }
    }
}

谁能指出我哪里出错了?

我正在尝试获取此页面的内容:http://hosh.me.uk/test.php

见截图:http://img.ctrlv.in/4ecd69c40a590.jpg

霍什

【问题讨论】:

  • 不相关,但看你发布的图片,我不得不说 - 以大写字母开头的类名(ChapterList.java 而不是 chapterList.java)
  • 这不是我的代码,我通常在 Java 中这样做,但这只是另一个项目的 svn checkout,它已经死了,我正在尝试改进它并修复它基本上。不过为建议喝彩,我还是个初学者,哈哈
  • 为什么你的 Accept-Charset 中有 ISO-8859-1 而你似乎更喜欢 UTF-8。另外如果你Accept-Encoding "gzip,deflate",是不是不需要解压处理,如下图:stackoverflow.com/questions/1573391/…?

标签: android httpclient


【解决方案1】:

只是猜测,但响应是否被压缩?也许您应该删除以下行,以便您的回复将是纯文本。

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

【讨论】:

  • 我怎么没看到?! :( 谢谢你!成功了!我会尽快接受答案。
  • 不客气。另请注意 David Dossot 对您的问题的评论。他链接到此处的另一个问题,该问题向您展示如何解压缩您的回复。该链接还声称您实际上应该使用压缩通信。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-02
  • 1970-01-01
  • 2012-04-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多