java HttpClient 调用 post 与 get

来源:互联网 发布:js文本框只能输入整数 编辑:程序博客网 时间:2024/05/24 05:41
@Bizlet("")
public static String doPost(String url,String parm,String reqData, String contentType) {
reqData="{\"orderId\":2016090888,\"orderStatus\":30,\"statusText\":\"已审核\",\"remark\":\"仓管XXX审核\"}";
String urlt=url+"?"+parm;
String response = null;
HttpClient client = new HttpClient();
client.getHttpConnectionManager().getParams().setConnectionTimeout(150000);
client.getHttpConnectionManager().getParams().setSoTimeout(150000);
HttpClientParams httpClientParams = new HttpClientParams();
httpClientParams.setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler(0, false));
httpClientParams.setBooleanParameter(HttpConnectionParams.STALE_CONNECTION_CHECK, true);
client.setParams(httpClientParams);
PostMethod method = new PostMethod(urlt);
method.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET, "UTF-8");
// 设置Http Post数据
try {
method.setRequestBody(reqData);
method.setRequestHeader("Content-type", contentType);
method.setRequestHeader("content-type", "application/json");
client.executeMethod(method);
// if (method.getStatusCode() == HttpStatus.SC_OK) {
InputStream responseStream = method.getResponseBodyAsStream();
response = convertStreamToString(responseStream);
// }
} catch (IOException e) {
e.printStackTrace();
response="errorMessage:"+e.getMessage();
} finally {
method.releaseConnection();
}
System.out.println("返回结果:"+response);
return response;

}


@Bizlet("")
  public static String HttpGet(String webUrl, Map paramMap) {


// 设置编码格式
String encoding = "GBK";
if (encoding == null || "".equals(encoding))
encoding = "GBK";
String queryString = createLinkString(paramMap);
webUrl = webUrl + "?" + queryString;
StringBuffer sBuffer = new StringBuffer();
// 构造HttpClient的实例
HttpClient httpClient = new HttpClient();
GetMethod gettMethod = null;
// httpClient.set
try {
URI uri = new URI(webUrl, false, encoding);


gettMethod = new GetMethod(uri.toString());


gettMethod.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET, encoding);
httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(5000); // 连接5秒超时
httpClient.getHttpConnectionManager().getParams().setSoTimeout(30000);// 读取30秒超时


// 执行getMethod
int statusCode = httpClient.executeMethod(gettMethod);
if (statusCode != HttpStatus.SC_OK) {
System.err.println("Method failed: " + gettMethod.getStatusLine());
sBuffer = new StringBuffer();
} else {
sBuffer = new StringBuffer(gettMethod.getResponseBodyAsString() + "");
}
} catch (HttpException e) {
// 发生致命的异常,可能是协议不对或者返回的内容有问题
System.out.println("Please check your provided http address!");
e.printStackTrace();
} catch (IOException e) {
// 发生网络异常
e.printStackTrace();
} finally {
// 释放连接
// Rewriter
// Rewrite Date:2015-12-22 By ZouYongle Case gettMethod MayBe is
// NULL Start1:
// gettMethod.releaseConnection();
// End1:
// Added by
// Add date:2015-12-22 Start2:
if (gettMethod != null) {
gettMethod.releaseConnection();
}
// End2:
}
return sBuffer.toString();
}

0 0
原创粉丝点击