httpClient和URL

本文介绍了一种在Java网络编程中使用HTTP GET和POST请求时如何解决中文字符乱码的问题。通过设置合适的字符集参数,并在读取响应时指定正确的编码,确保了中文内容能够被正确处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

URL方式:
URL url = null;
HttpURLConnection httpCon = null;
try {
url = new URL(orderListUrl + "?" + sData);
httpCon = (HttpURLConnection) url.openConnection();
httpCon.setUseCaches(false);
httpCon.setDoInput(true);
httpCon.setDoOutput(true);
httpCon.setInstanceFollowRedirects(false);
httpCon.setRequestMethod("GET");
BufferedReader reader = new BufferedReader(new InputStreamReader(httpCon.getInputStream(),"utf-8"));

String tmp = "";
while ((tmp = reader.readLine()) != null) {
strResponse += tmp + "\n";
}


httpClient:
public static String doPost(String url, NameValuePair[] data)
throws HttpException, IOException {
HttpClient client = new HttpClient();

client.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET,
"utf-8");
PostMethod method = new PostMethod(url);

method.setRequestBody(data);
method.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,
new DefaultHttpMethodRetryHandler(3, false));
try {
client.executeMethod(method);

InputStream ins = method.getResponseBodyAsStream();
[color=red] BufferedReader br = new BufferedReader(new InputStreamReader(ins,
"utf-8"));[/color]
StringBuffer sbf = new StringBuffer();
String line = null;
while ((line = br.readLine()) != null) {
sbf.append(line);
}
br.close();
return sbf.toString();

} finally {
// Release the connection.
method.releaseConnection();
}
}

红色部分解决中文乱码问题!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值