http请求步骤(httpclient)

来源:互联网 发布:wps办公室软件下载 编辑:程序博客网 时间:2024/06/05 11:29
public static String httppost(String url, List<NameValuePair> reqParameters) {
long startTime = System.currentTimeMillis(); // 获取开始时间
HttpClient httpclient = new DefaultHttpClient();
String resData = "";
try {


/**
* 第一步: 设置HttpPost请求头内容,可解决中文乱码问题,非常重要
*/
UrlEncodedFormEntity entParams = null;


if (reqParameters != null && reqParameters.size() > 0) {
entParams = new UrlEncodedFormEntity(reqParameters, "UTF-8");
}


/*******************************************************************
* 第二步: 初始化HttpPost URL 访问服务器的主网址
******************************************************************/
HttpPost sendPost = new HttpPost(url);


/**
* 第三步:设置Post请求参数 把请求参数按指定编码设置到HttpPost中
*/
if (entParams != null) {
sendPost.setEntity(entParams);


}


// ---begin解决中文乱码问题
/*sendPost.addHeader("Content-Type",
"application/x-www-form-urlencoded");
sendPost.addHeader("Accept-Language", "utf-8");
sendPost.addHeader("Accept-Encoding", "gzip, deflate");
// ---end


/**
* 第四步:执行post请求,得到响应做其他操作
*/
HttpResponse response = httpclient.execute(sendPost);


HttpEntity resEntity = response.getEntity();


if (resEntity != null) {
resData = EntityUtils.toString(resEntity, "utf-8");
}
// resData = getResponseContent(resEntity);


/**
* 第五步:释放连接资源
*/
sendPost.abort();


} catch (ParseException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
/**
* 第六步:关闭连接管理器
*/
httpclient.getConnectionManager().shutdown();
}


long endTime = System.currentTimeMillis(); // 获取结束时间
if (reqParameters.get(0).toString().indexOf("hotel_order_query") > 0)
System.out.println("sendpost(), 请求方法: " + reqParameters.get(0)
+ "程序运行时间: " + (endTime - startTime) + "毫秒");
return resData;
}
0 0