一.Get请求
/**
* 通过httpclient到指定的uri来get数据
*/
public static String getData(String url){
HttpClient httpClient = new HttpClient();
//设置代理
httpClient.getHostConfiguration().setProxy(Config.getProxyHost(), Config.getProxyPort());
GetMethod getMethod = new GetMethod(url); //get指定url的数据
try {
int status = httpClient.executeMethod(getMethod);
if (status == HttpStatus.SC_OK) { //请求url后,服务器返回的执行状态
return getMethod.getResponseBodyAsString();
}else{
return null;
}
} catch (Exception e) {
throw new RuntimeException(e);
}
}
二.Post请求
/**
* 通过httpclient send数据到指定的url【无参数类型】
*/
@SuppressWarnings("deprecation")
public static String sendData(String url, String content){
HttpClient httpClient = new HttpClient();
//设置代理
httpClient.getHostConfiguration().setProxy(Config.getProxyHost(), Config.getProxyPort());
//post数据到该url
PostMethod postMethod = new PostMethod(url);
//设置参数编码为gbk
postMethod.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET,"gbk");
// 无参数类型,把内容放入postMethod中
postMethod.setRequestBody(content);
try {
//执行
int status = httpClient.executeMethod(postMethod);
return postMethod.getResponseBodyAsString();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
/**
* 通过httpclient send数据到指定的url【含参数类型】
*/
@SuppressWarnings("deprecation")
public static String sendData(String url){
HttpClient httpClient = new HttpClient();
//设置代理
httpClient.getHostConfiguration().setProxy(Config.getProxyHost(), Config.getProxyPort());
//post数据到该url
PostMethod postMethod = new PostMethod(url);
//设置参数编码为gbk
postMethod.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET,"gbk");
//有参数类型,需要设置构造键值对参数
NameValuePair[] data = { new NameValuePair("id", "10"),
new NameValuePair("name", "Helen") };
// 把参数值放入postMethod中
postMethod.setRequestBody(data);
try {
//执行
int status = httpClient.executeMethod(postMethod);
return postMethod.getResponseBodyAsString();
} catch (Exception e) {
throw new RuntimeException(e);
}
}