zxy_sz 2014-12-12 07:39 采纳率: 0%
浏览 8096

java HttpClient 请求乱码

java HttpClient 4.3.6的jar包
为什么我get post 请求中文乱码
还有怎么请求的时候怎么带参数,我这样写有什么问题没有,现在的情况就是乱码
public static void get() {
try {
CloseableHttpClient httpClient = HttpClients.createDefault();
HttpGet httpget = new HttpGet("http://api.a.7xz.com/v140/ceshi");
httpget.addHeader(new BasicHeader("npi", "3"));
// httpget.addHeader("", "");
CloseableHttpResponse httpReponse = httpClient.execute(httpget);
try {

            System.out.println(httpReponse.getStatusLine());
            HttpEntity entity = httpReponse.getEntity();

            System.out.println(EntityUtils.toString(entity));
        } finally {
            httpReponse.close();
        }

    } catch (Exception e) {
        e.printStackTrace();
    }
}

public static void post() {
    try {
        CloseableHttpClient httpClient = HttpClients.createDefault();
        HttpPost httpPost = new HttpPost("http://api.a.7xz.com/v140/ceshi");

        List<BasicNameValuePair> Listnvps = new ArrayList();
        Listnvps.add(new BasicNameValuePair("npi", "3"));

        httpPost.setEntity(new UrlEncodedFormEntity(Listnvps, "UTF-8"));
        CloseableHttpResponse httppHttpResponse2 = httpClient
                .execute(httpPost);

        try {
            System.out.println(httppHttpResponse2.getStatusLine());
            System.out.println(EntityUtils.toString(httppHttpResponse2
                    .getEntity()));

        } finally {
            httppHttpResponse2.close();
        }
        httpClient.close();

    } catch (Exception e) {
        e.printStackTrace();
    }
}
  • 写回答

4条回答

  • save4me 2014-12-12 07:58
    关注

    String strResult = EntityUtils.toString(httpResponse.getEntity(),"UTF-8");
    或者把UTF-8改成相应的编码。

    评论

报告相同问题?

悬赏问题

  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100