我如何才能从我的HTTP响应的Android字符串?(how do I get a string f

2019-08-17 23:48发布

我已经看到人们书写了自己的一个HttpResponse转换成字符串后使用的方法还真有些难看的代码,这看起来是这样的:

httppost.setEntity(new UrlEncodedFormEntity(valuePairs));
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
InputStream is = entity.getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(is,"UTF8"),8);
StringBuilder sb = new StringBuilder();
sb.append(reader.readLine() + "\n");
String line="0";
while ((line = reader.readLine()) != null) {
    sb.append(line + "\n");
}
is.close();
String result = sb.toString();

不仅是有点乱,但它确实难看,我很多时候也说不清是怎么回事的代码,因为这个烂摊子它之前。 有没有更好的方式来做到这一点?

Answer 1:

就在这里! 你可以做的是,在一条线! 像这样:

response = client.execute(post);
String responseStr = EntityUtils.toString(response.getEntity());

快乐的应用程序制作



Answer 2:

我从响应处理器做到了HttpClient.execute文档 。 使用的处理程序作为第二个参数.execute方法定义了响应应该是什么格式。
我的代码folows:

HttpClient client = new DefaultHttpClient();

        HttpGet request = new HttpGet(params[0]);
        ResponseHandler<String> handler = new BasicResponseHandler();
        String response = "";
        try {
            response = client.execute(request, handler);
        } catch (IOException e) {
            e.printStackTrace();
        }

params[0]是在一个字符串的形式的URL。 地说,我的服务器在JSON返回的响应可能很重要。 所以,最后将我的response字符串JSON。



文章来源: how do I get a string from my http response android?