您的位置:首页 > 理论基础 > 计算机网络

解决httpclient返回中文有部分乱码的情况

2016-03-17 12:13 471 查看
转自:/article/7656705.html


java 简单的HttpClient工具类,解决返回中文有部分乱码的情况

[java] view
plain copy

print?

import java.io.IOException;

import java.io.InputStream;

import org.apache.http.HttpEntity;

import org.apache.http.HttpResponse;

import org.apache.http.client.ClientProtocolException;

import org.apache.http.client.HttpClient;

import org.apache.http.client.methods.HttpGet;

import org.apache.http.impl.client.DefaultHttpClient;

public class HttpClientUtil {

public static String sendGet(String url,String data) throws ClientProtocolException, IOException

{

// 创建HttpClient实例

HttpClient httpclient = new DefaultHttpClient();

// 创建Get方法实例

HttpGet httpgets = new HttpGet(url+data);

HttpResponse response = httpclient.execute(httpgets);

HttpEntity entity = response.getEntity();

if (entity != null) {

InputStream instreams = entity.getContent();

String str = convertStreamToString(instreams);

httpgets.abort();

return str;

}

return null;

}

public static String convertStreamToString(InputStream is) {

StringBuilder sb1 = new StringBuilder();

byte[] bytes = new byte[4096];

int size = 0;

try {

while ((size = is.read(bytes)) > 0) {

String str = new String(bytes, 0, size, "UTF-8");

sb1.append(str);

}

} catch (IOException e) {

e.printStackTrace();

} finally {

try {

is.close();

} catch (IOException e) {

e.printStackTrace();

}

}

return sb1.toString();

}

}

是完整代码。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: