package com.xx.logPlayBack.sdksearch.utils;
import com.alibaba.druid.util.StringUtils;
import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.util.EncodingUtil;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
public class HTTPCommonMethod {
/**
* get 请求,只需将变动的参数传入params中即可
*
* @param url
* @param params
* @return
*/
public static String doGet(String url, Map<String, String> params) {
try {
Header header = new Header("Content-type", "application/json");
String response = "";
HttpClient httpClient = new HttpClient();
if (url != null && !StringUtils.isEmpty(url)) {
List<NameValuePair> qparams = getParamsList(params);
if (qparams != null && qparams.size() > 0) {
String formatParams = EncodingUtil.formUrlEncode(qparams.toArray(new NameValuePair[qparams.size()]),
"utf-8");
url = url.indexOf("?") < 0 ? url + "?" + formatParams : url + "&" + formatParams;
}
System.out.println("url==" + url);
GetMethod getMethod = new GetMethod(url);
getMethod.addRequestHeader(header);
/*if (null != headers) {
Iterator var8 = headers.entrySet().iterator();
while (var8.hasNext()) {
Map.Entry<String, String> entry = (Map.Entry)var8.next();
getMethod.addRequestHeader((String)entry.getKey(), (String)entry.getValue());
}
}*/
//System.out.println(getMethod.getRequestHeader("User-Agent"));
int statusCode = httpClient.executeMethod(getMethod);
// 如果请求失败则打印出失败的返回码
if (statusCode != 200) {
System.out.println("=======请求出错,错误码为=======" + statusCode);
return response;
}
response = new String(getMethod.getResponseBody(), "utf-8");
}
return response;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
private static List<NameValuePair> getParamsList(Map<String, String> paramsMap) {
if (paramsMap != null && paramsMap.size() != 0) {
List<NameValuePair> params = new ArrayList();
Iterator var2 = paramsMap.entrySet().iterator();
while (var2.hasNext()) {
Map.Entry<String, String> map = (Map.Entry) var2.next();
params.add(new NameValuePair((String) map.getKey(), (String) map.getValue()));
}
return params;
} else {
return null;
}
}
}
待续。。