java调用RestFul WebService的例子

本文介绍了一个使用Java实现的向远程服务器发送数据的方法。通过构造HTTP POST请求并压缩数据来提高传输效率。示例中详细展示了如何组织数据、设置HTTP请求及处理响应。

pom文件

<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.3</version>
</dependency>


public void sendDataToRemote(){
Map<String,Double> map = new HashMap<String, Double>();
synchronized (PointValueService.mapLock){
map = PointValueService.map;
}
Gson gson = new Gson();
String url = ipAddress + "/receiveService/receiveRemoteService"; //访问远程方法路径
String dataString = gson.toJson(map);
System.out.println("----------------dataString----------" + dataString);
try {
String data = CodecTools.compressAndEncode(dataString); // 压缩后的实时数据信息
// TODO Java调用指定ip路径下方法 accessPath
String t=CodecTools.decodeAndUncompress(data);
// System.out.println("data---------------"+data);
// System.out.println("t---------------"+t);
List<NameValuePair> params = new ArrayList<NameValuePair>();
// params.add(new BasicNameValuePair("userName", "Sun"));
params.add(new BasicNameValuePair("param",data));
getRest(url, params);
} catch (IOException e) {
e.printStackTrace();
}
}


public static String getRest(String url,List<NameValuePair> params){
// 创建默认的httpClient实例.
CloseableHttpClient httpclient = HttpClients.createDefault();
// 创建httppost
HttpPost httppost = new HttpPost(url);

UrlEncodedFormEntity uefEntity;

try{
uefEntity = new UrlEncodedFormEntity(params, "UTF-8");
httppost.setEntity(uefEntity);
CloseableHttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
String json= EntityUtils.toString(entity, "UTF-8");
int code= response.getStatusLine().getStatusCode();
if(code==200 ||code ==204){
return json;
}
}catch (Exception e){
e.printStackTrace();
}

return "";
}

转载于:https://www.cnblogs.com/zhanying999666/p/7693081.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值