/**
* 这个类是一个Http操作类
* @author liujing
*
*/
public class MyHttpClient {
/**
* 通过HttpClient发送GET请求
* @param path 请求路径
* @param params 请求参数
* @param ecoding 请求编码
* @return 请求是否成功
*/
public HttpResponse sendHttpClientGETRequest(String path,Map<String, String> params, String ecoding) throws Exception {
StringBuilder url=new StringBuilder(path);
url.append("?");
for (Map.Entry<String, String> entry : params.entrySet()) {
url.append(entry.getKey()).append("=");
url.append(URLEncoder.encode(entry.getValue(),ecoding));
url.append("&");
}
url.deleteCharAt(url.length()-1);
HttpGet httpGet=new HttpGet(url.toString());
DefaultHttpClient client=new DefaultHttpClient();
client.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 10000);
client.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, 10000);
HttpResponse response=client.execute(httpGet);
if(response.getStatusLine().getStatusCode()==200){
return response;
}
return null;
}
/**
* 通过HttpClient发送Post请求
* @param path 请求路径
* @param params 请求参数
* @param ecoding 请求编码
* @return 请求是否成功
*/
public HttpResponse sendHttpClientPOSTRequest(String path,
Map<String, String> params, String ecoding) throws Exception {
List<NameValuePair> pair=new ArrayList<NameValuePair>();//存放请求参数
if(params!=null && !params.isEmpty()){
for (Map.Entry<String, String> entry : params.entrySet()) {
pair.add(new BasicNameValuePair(entry.getKey(),entry.getValue()));
}
}
UrlEncodedFormEntity enFormEntity=new UrlEncodedFormEntity(pair,ecoding);
HttpPost httpPost=new HttpPost(path);
httpPost.setEntity(enFormEntity);
DefaultHttpClient client=new DefaultHttpClient();
client.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 10000);
client.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, 10000);
HttpResponse response=client.execute(httpPost);
if(response.getStatusLine().getStatusCode()==200){
return response;
}
return null;
}
/**
* 通过HttpClient发送Post请求
* @param path 请求路径
* @param params 请求参数
* @param ecoding 请求编码
* @return 请求是否成功
*/
public HttpResponse sendHttpClientPOSTRequest(String path,
Map<String, String> params, String ecoding, int timeout) throws Exception {
List<NameValuePair> pair=new ArrayList<NameValuePair>();//存放请求参数
if(params!=null && !params.isEmpty()){
for (Map.Entry<String, String> entry : params.entrySet()) {
pair.add(new BasicNameValuePair(entry.getKey(),entry.getValue()));
}
}
UrlEncodedFormEntity enFormEntity=new UrlEncodedFormEntity(pair,ecoding);
HttpPost httpPost=new HttpPost(path);
httpPost.setEntity(enFormEntity);
DefaultHttpClient client=new DefaultHttpClient();
client.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, timeout);
client.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, timeout);
HttpResponse response=client.execute(httpPost);
if(response.getStatusLine().getStatusCode()==200){
return response;
}
return null;
}
}
就不解释了,直接用就好了,返回值是HttpResponse,建议服务端直接返回json数据,完了端这边直接解析