请求参数为中文:URLEncoder.encode(para, "UTF-8")
返回的结果含有中文:
String uriAPI = String.format("https://api.weixin.qq.com/sns/userinfo?access_token=%s&openid=%s", token, openid); String result= ""; HttpGet httpRequst = new HttpGet(uriAPI); try { //使用DefaultHttpClient类的execute方法发送HTTP GET请求,并返回HttpResponse对象。 HttpResponse httpResponse = new DefaultHttpClient().execute(httpRequst);//其中HttpGet是HttpUriRequst的子类 if (httpResponse.getStatusLine().getStatusCode() == 200) { HttpEntity httpEntity = httpResponse.getEntity(); result = EntityUtils.toString(httpEntity, "UTF-8");//取出应答字符串 if (result != null && !result.isEmpty()) { Gson gson = new Gson(); WXRespone wxRespone = gson.fromJson(result, new TypeToken<WXRespone>() { }.getType()); return wxRespone; } // 一般来说都要删除多余的字符 // result.replaceAll("\r", "");//去掉返回结果中的"\r"字符,否则会在结果字符串后面显示一个小方格 } else { httpRequst.abort(); }