package com.fzzy.push.whhpjl;
|
|
import com.alibaba.fastjson.JSON;
|
import com.fzzy.push.whhpjl.dto.WhjlPullReqDto;
|
import com.fzzy.push.whhpjl.dto.WhjlPullRespDto;
|
import com.fzzy.push.whhpjl.dto.WhjlReqDto;
|
import com.fzzy.push.whhpjl.dto.WhjlRespDto;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.stereotype.Component;
|
|
import java.io.*;
|
import java.net.HttpURLConnection;
|
import java.net.URL;
|
|
/**
|
* 武汉军粮省平台-上传数据服务类
|
*
|
* @author czt
|
* @date 2023/10/23
|
*/
|
@Slf4j
|
@Component
|
public class Whjl2023HttpClientUtil {
|
|
/**
|
* 数据上报post请求
|
*
|
* @param url
|
* @param reqData
|
* @return
|
*/
|
public WhjlRespDto postPushData(String url, WhjlReqDto reqData) throws Exception {
|
log.info("---------接口请求地址:" + url + "----------参数:" + JSON.toJSONString(reqData) + "---------");
|
BufferedReader in = null;
|
URL urls = new URL(url);
|
HttpURLConnection connection = null;
|
OutputStream outputStream = null;
|
String rs = "";
|
WhjlRespDto responseDto;
|
try {
|
connection = (HttpURLConnection) urls.openConnection();
|
connection.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
|
connection.setDoOutput(true);
|
connection.setDoInput(true);
|
connection.setRequestProperty("Accept-Language", "zh-CN,zh;q=0.8");
|
connection.setRequestProperty("Accept", "*/*");
|
connection.setRequestProperty("Range", "bytes=" + "");
|
connection.setConnectTimeout(20000);
|
connection.setReadTimeout(30000);
|
connection.setRequestMethod("POST");
|
|
outputStream = connection.getOutputStream();
|
|
outputStream.write(JSON.toJSONString(reqData).getBytes("UTF-8"));
|
try {
|
connection.connect();
|
if (connection.getResponseCode() == 200) {
|
in = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));
|
String line = "";
|
while ((line = in.readLine()) != null) {
|
rs += line;
|
}
|
}else{
|
log.error("http状态:" + connection.getResponseCode());
|
log.error("http消息:" + connection.getResponseMessage());
|
}
|
|
} catch (Exception e) {
|
System.out.println("发生异常");
|
log.error(e.getMessage(), e);
|
rs = null;
|
return new WhjlRespDto(99, e.getMessage());
|
}
|
log.info("---------接口返回:" + rs + "---------");
|
responseDto = JSON.parseObject(rs, WhjlRespDto.class);
|
if (responseDto == null) return new WhjlRespDto(99, "接口请求发生未知错误");
|
return responseDto;
|
} finally {
|
try {
|
outputStream.close();
|
if (in != null) {
|
in.close();
|
}
|
} catch (Exception e) {
|
}
|
outputStream = null;
|
if (connection != null)
|
connection.disconnect();
|
connection = null;
|
}
|
}
|
|
/**
|
* 数据上报post请求
|
*
|
* @param url
|
* @param reqData
|
* @return
|
*/
|
public WhjlPullRespDto postPullData(String url, WhjlPullReqDto reqData) throws Exception {
|
log.info("---------接口请求地址:" + url + "----------参数:" + JSON.toJSONString(reqData) + "---------");
|
BufferedReader in = null;
|
URL urls = new URL(url);
|
HttpURLConnection connection = null;
|
OutputStream outputStream = null;
|
String rs = "";
|
WhjlPullRespDto responseDto;
|
try {
|
connection = (HttpURLConnection) urls.openConnection();
|
connection.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
|
connection.setDoOutput(true);
|
connection.setDoInput(true);
|
connection.setRequestProperty("Accept-Language", "zh-CN,zh;q=0.8");
|
connection.setRequestProperty("Accept", "*/*");
|
connection.setRequestProperty("Range", "bytes=" + "");
|
connection.setConnectTimeout(20000);
|
connection.setReadTimeout(30000);
|
connection.setRequestMethod("POST");
|
|
outputStream = connection.getOutputStream();
|
|
outputStream.write(JSON.toJSONString(reqData).getBytes("UTF-8"));
|
try {
|
connection.connect();
|
if (connection.getResponseCode() == 200) {
|
in = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));
|
String line = "";
|
while ((line = in.readLine()) != null) {
|
rs += line;
|
}
|
} else {
|
log.error("http状态:" + connection.getResponseCode());
|
log.error("http消息:" + connection.getResponseMessage());
|
}
|
|
} catch (Exception e) {
|
log.error(e.getMessage(), e);
|
rs = null;
|
return new WhjlPullRespDto(99, null);
|
}
|
log.info("---------接口返回:" + rs + "---------");
|
responseDto = JSON.parseObject(rs, WhjlPullRespDto.class);
|
|
if (responseDto == null) {
|
return new WhjlPullRespDto(99, "接口请求发生未知错误");
|
}
|
return responseDto;
|
} finally {
|
try {
|
outputStream.close();
|
if (in != null) {
|
in.close();
|
}
|
} catch (Exception e) {
|
}
|
outputStream = null;
|
if (connection != null)
|
connection.disconnect();
|
connection = null;
|
}
|
}
|
}
|