POST请求
方法一,直接传入Instream
public static String post(String url, InputStream instream){
try {
//该Request是org.apache.http.client.fluent.Request;
HttpEntity entity = Request.Post(url)
.bodyStream(instream,ContentType.create("text/html", "UTF-8"))
.execute().returnResponse().getEntity();
return entity != null ? EntityUtils.toString(entity) : null;
} catch (Exception e) {
logger.error("post请求异常," + e.getMessage() + "\n post url:" + url);
e.printStackTrace();
}
return null;
}
方法二,传入普通json字符串
private static String httpPost(String url, String data) {
try {
HttpEntity entity = Request.Post(url)
.bodyString(data,ContentType.create("text/html", "UTF_8"))
.execute().returnResponse().getEntity();
return entity != null ? EntityUtils.toString(entity) : null;
} catch (Exception e) {
logger.error("post请求异常," + e.getMessage() + "\n post url:" + url);
e.printStackTrace();
}
return null;
}
GET请求
private static String httpGet(String url) {
try {
HttpEntity entity = Request.Get(url).
execute().returnResponse().getEntity();
return entity != null ? EntityUtils.toString(entity) : null;
} catch (Exception e) {
logger.error("get请求异常," + e.getMessage() + "\n get url:" + url);
e.printStackTrace();
}
return null;
}
文件上传
public static String postFile(String url,String name,File file){
try {
HttpEntity reqEntity = MultipartEntityBuilder.create().addBinaryBody(name, file).build();
Request request = Request.Post(url);
request.body(reqEntity);
HttpEntity resEntity = request.execute().returnResponse().getEntity();
return resEntity != null ? EntityUtils.toString(resEntity) : null;
} catch (Exception e) {
logger.error("postFile请求异常," + e.getMessage() + "\n post url:" + url);
e.printStackTrace();
}
return null;
}