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();
}
}
红色部分解决中文乱码问题!
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();
}
}
红色部分解决中文乱码问题!
本文介绍了一种在Java网络编程中使用HTTP GET和POST请求时如何解决中文字符乱码的问题。通过设置合适的字符集参数,并在读取响应时指定正确的编码,确保了中文内容能够被正确处理。

5万+

被折叠的 条评论
为什么被折叠?



