下面是一个通过Http远程调用的例子,亲测有效,无需其它客户端包。
import org.apache.commons.io.IOUtils;
import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
String url = "http://192.168.190.1:8080/test/query";
String data = "{\"bool\": \"0001,0002\","
+"\"timeEnd\": \"20180505000000\","
+"\"timeStart\": \"20180504200000\","
+"\"wtgid\": \"BWAA,BWAE\","
+"\"preHandle\": [{\"boolId\": \"0001\","
+"\"filter\": \"24890-24893\","
+"\"id\": \"1\","
+"\"interval\": \"\","
+"\"isZero\": \"\" }]}";
/*
* 过时了 DefaultHttpClient client = new DefaultHttpClient( new
* PoolingClientConnectionManager());
*/
CloseableHttpClient client = HttpClients.createDefault();
HttpPost httpPost = new HttpPost(url);
httpPost.setHeader("Content-Type", "application/json;charset=UTF-8");
StringEntity se;
String result = "";
try {
se = new StringEntity(data);
se.setContentType("text/json");
httpPost.setEntity(se);
CloseableHttpResponse response2 = null;
response2 = client.execute(httpPost);
HttpEntity entity2 = null;
entity2 = response2.getEntity();
result = EntityUtils.toString(entity2, "UTF-8");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}