//设置格式以及字符编码
private static final MediaType JSON = MediaType.parse("application/json; charset=utf-8");
/**
* @Description: 获取抓拍机列表
* @param boxIP 调用服务器的ip地址
* @param port 调用服务器的端口号
* @param jsonStr 发送的数据
* @param requestHead 请求头
* @return:
* @Author: liujianhua
* @Date: 18:47
*/
//比如:http://192.168.88.133:8080/api/selectById
//同:http://boxIP:port/requestHead
public static String postJsonHTTP(String boxIP,String port ,String jsonStr,String requestHead) throws IOException {
String url = "http://"+boxIP+":"+port+"/"+requestHead;
OkHttpClient okHttpClient = new OkHttpClient.Builder().readTimeout(30, TimeUnit.SECONDS).build();
RequestBody requestBody = RequestBody.create(JSON, jsonStr);
Request.Builder builder = new Request.Builder();
final Request request = builder.url(url).post(requestBody).build();
final Call call = okHttpClient.newCall(request);
Response response;
response = call.execute();
return response.body().string();
}
如何调用
public List<Map> requestCameraList() throws Exception{
String boxIP = "192.168.88.133";
String port = "8080";
//将数据存放到map中
Map requestMap = new HashMap();
requestMap.put("Name","SubDevicesManageRequest");
//下面将map转为json
String ret = postJsonHTTP(boxIP, port, gson.toJson(requestMap),LOADBAIDUCAMERA);
//将收到的数据转为map格式
HashMap retMap = gson.fromJson(ret, HashMap.class);
System.err.println(retMap);
return cameraListMap;
}
版权声明:本文为weixin_45151960原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。