HttpClient get/post代码
get
/**
* get请求
* @param url
* @param headers
* @return
*/
public static String httpGet(String url,Map<String,String> headers){
String result = null;
HttpClient httpClient = new DefaultHttpClient();
httpClient.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 60000); // 连接超时时间
httpClient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, 90000); // 数据传输时间
HttpGet get = new HttpGet(url);
// 设置请求头
get.setHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8");
for(String key : headers.keySet()){
get.setHeader(key, headers.get(key));
}
try {
HttpResponse response = httpClient.execute(get);
result = reponse2String(response);
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
// 关闭
httpClient.getConnectionManager().shutdown();
return result;
}
post
/**
* post请求
* @param url
* @param params
* @return
*/
public static String httpPost(String url,Map<String,String> headers,Map<String,Object> params){
String result = null;
HttpClient httpClient = new DefaultHttpClient();
httpClient.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 60000); // 连接超时时间
httpClient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, 90000); // 数据传输时间
HttpPost post = null;
post = new HttpPost(url);
// 设置请求头
post.setHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8");
for(String key : headers.keySet()){
post.setHeader(key, headers.get(key));
}
// 参数
List<NameValuePair> list = new ArrayList<NameValuePair>();
Set<String> keySet = params.keySet();
for(String key:keySet){
list.add(new BasicNameValuePair(key, params.get(key).toString()));
}
try {
post.setEntity(new UrlEncodedFormEntity(list,HTTP.UTF_8));
HttpResponse response = httpClient.execute(post);
result = reponse2String(response);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
// 关闭
httpClient.getConnectionManager().shutdown();
return result;
}
RestTemplate get/post代码
get
static RestTemplate restTemplate = new RestTemplate();
/**
* get请求
* @param url
* @param headers
* @param clzz
* @return
*/
public static <T> ResponseEntity<T> httpGet(String url,Map<String,String> headers,Class<T> clzz){
// 头信息
HttpHeaders header = new HttpHeaders();
header.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
for(String key : headers.keySet()){
header.set(key, headers.get(key));
}
HttpEntity<MultiValueMap<String, String>> httpEntity = new HttpEntity<>(null, header);
ResponseEntity<T> response = restTemplate.exchange(url, HttpMethod.GET, httpEntity, clzz);
return response;
}
post
/**
* post请求
* @param url
* @param headers
* @param params
* @param clzz
* @return
*/
public static <T> ResponseEntity<T> httpPost(String url,Map<String,String> headers,
Map<String,Object> params,Class<T> clzz){
// 头信息
HttpHeaders header = new HttpHeaders();
header.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
for(String key : headers.keySet()){
header.set(key, headers.get(key));
}
MultiValueMap<String, String> map = new LinkedMultiValueMap<String, String>();
for(String key : params.keySet()){
map.add(key, params.get(key).toString());
}
HttpEntity<MultiValueMap<String, String>> httpEntity = new HttpEntity<>(map, header);
ResponseEntity<T> response = restTemplate.exchange(url, HttpMethod.POST, httpEntity, clzz);
return response;
}
RestTemplate测试类
@Test
public void testGet(){
String url = "http://127.0.0.1:8080/toutiao_download/toutiao/open/getData?id=666";
Map<String,String> headers = new HashMap<>();
headers.put("token", "TKA2Trx3EldMOZWWVnfL6A*613D**613D*");
ResponseEntity<String> res = RestTemplateUtils.httpGet(url, headers, String.class);
System.out.println(res.getBody());
}
@Test
public void testPost(){
String url = "http://127.0.0.1:8080/toutiao_download/toutiao/open/updateAccountStatus.action";
Map<String,String> headers = new HashMap<>();
headers.put("token", "TKA2Trx3EldMOZWWVnfL6A*613D**613D*");
Map<String,Object> params = new HashMap<>();
params.put("advertiserIds", "123456");
params.put("channel", "toutiao");
params.put("hourStatus", 1);
ResponseEntity<String> res = RestTemplateUtils.httpPost(url, headers,params,String.class);
System.out.println(res.getBody());
}