1、使用httpclient请求服务
2、需要的java包
private static Logger log = Logger.getLogger(ServiceLink.class);
private static HttpClient client = new HttpClient();
private static boolean flog=true;
/**
* post请求方法 传递地址 、数据
* @param url
* @param datas
* @return
*/
public static String getPostMethodWrite(String url,String datas){
if(flog){
flog=false;
PostMethod postMethod = new PostMethod(url);
//设置参数编码为utf-8
postMethod.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET,"UTF-8");
//构造键值对参数
NameValuePair[] data = { new NameValuePair("data", datas)};
// 把参数值放入postMethod中
postMethod.setRequestBody(data);
//执行
try {
client.executeMethod(postMethod);
//读取内容
byte[] responseBody = postMethod.getResponseBody();
//处理内容
// System.out.println(new String(responseBody));
// System.out.println("statusCode:"+statusCode);
//打印结果页面
String response = new String(postMethod.getResponseBodyAsString().getBytes("utf-8"));
//打印返回的信息
log.info("response:"+response);
return response;
//释放连接
} catch (HttpException e) {
ErrorPrint.sprintLog(e, log,"http协议异常");
e.printStackTrace();
return "";
} catch (IOException e) {
ErrorPrint.sprintLog(e, log,"流异常");
log.error("流异常", e);
e.printStackTrace();
return "";
} finally{
postMethod.releaseConnection();
flog=true;
}
}
return "";
}