菜鸟求救 安卓http请求乱码问题

放纵的青春 2013-08-23 04:58:25
刚玩安卓
安卓项目中用http请求去请求一个web服务器
传过去的参数服务器接收是乱码
用浏览器访问中文正常

/**
* Get请求
*
* @param url
* 请求地址
* @param params
* 参数
* @return
*/
public static String httpGet(String url, Map<String, String> params) {
StringBuilder sb = new StringBuilder();
sb.append(url).append("?");
for (String key : params.keySet()) {
sb.append(key).append("=").append(params.get(key)).append("&");
}

url = sb.substring(0, sb.length() - 1);
return openUrl(url);
}

/**
* 连接失败
*/
public static final String CONNECT_FAILED = "url request error";

/**
* @param url
* 请求地址
* @return 返回结果
*/
public static String openUrl(String url) {
HttpURLConnection c = null;
try {
StringBuffer sb = new StringBuffer();
URL u = new URL(url);
c = (HttpURLConnection) u.openConnection();
if (c == null) {
return CONNECT_FAILED;
}
BufferedReader br = new BufferedReader(new InputStreamReader(
c.getInputStream()));
int byteRead = 0;
char[] buffer = new char[8192];
while ((byteRead = br.read(buffer, 0, 8192)) != -1) {
sb.append(buffer, 0, byteRead);
}
return sb.toString();
} catch (Exception e) {
System.out.println("http请求出错:" + url);
return CONNECT_FAILED;
} finally {
if (c != null) {
c.disconnect();
}
}
}

// 调用http接口查询仓库信息
Map<String, String> params = new HashMap<String, String>();
params.put("wareInfoName", wareInfoName);
String xml = HttpUtil.httpGet(url, params);
...全文
85 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
放纵的青春 2013-08-23
  • 打赏
  • 举报
回复
求解救 不要加班啊

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧