<!--Httpclient-->
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.0.2</version>
</dependency>
这边因为业务需要,需要单独起一个服务,去请求内网接口,博主请求都是post 类型的。
@Slf4j
@Component
public class HttpUtils {
@Value("${sys.url}")
private String url;
@Value("${sys.userName}")
private String userName;
@Value("${sys.userPwd}")
private String userPwd;
public static List<ImeiResult> list = new ArrayList<>();
/**
* 获取Token
* @return
*/
public String getToken(){
String token = null;
RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
//设置类型
MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8");
headers.setContentType(type);
HttpEntity<SysUser> formEntity = new HttpEntity<>(new SysUser(userName,userPwd), headers);
//发送数据方法
ResponseEntity<String> forEntity = restTemplate.postForEntity(url, formEntity, String.class);
//得到返回的数据body
JSONObject jsonObject = JSONObject.parseObject(forEntity.getBody());
String success = jsonObject.get("code").toString();
if(success.equals("0")){
token = jsonObject.get("data").toString();
}else{
String message = jsonObject.get("message").toString();
log.error(message);
return message;
}
return token;
}
/**
* @param param
* @param url
* @return
*/
public static Result savePostJosn(String param, String url){
String msg = null;
// 转json格式
JSONObject parseObject = null;
if(StringUtils.isEmpty(param)){
msg = "数据异常,请检查后重新推送";
log.error(msg);
return Result.error(msg);
}
try{
parseObject = JSONObject.parseObject(param);
}catch (Exception e){
log.error(e.getMessage());
msg = "数据格式异常,请检查后重新推送";
return Result.error(msg);
}
RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
//设置类型
MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8");
headers.setContentType(type);
HttpEntity<JSONObject> formEntity = new HttpEntity<>(parseObject, headers);
//发送数据方法
ResponseEntity<String> forEntity = restTemplate.postForEntity(url, formEntity, String.class);
//得到返回的数据body
JSONObject jsonObject = JSONObject.parseObject(forEntity.getBody());
String code = jsonObject.get("code").toString();
if(code.equals("1")){
msg = "推送成功";
return Result.success(msg);
}else if(code.equals("0")){
msg = "推送失败";
}else{
msg = jsonObject.get("message").toString();
}
return Result.error(msg);
}
/**
* @param param
* @param url
* @return
*/
public static Result saveGetStr(String param,String url){
String msg = null;
RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
//设置类型
MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8");
headers.setContentType(type);
HttpEntity<Equipment> formEntity = new HttpEntity<>(new Equipment(param), headers);
//发送数据方法
ResponseEntity<String> forEntity = restTemplate.postForEntity(url, formEntity, String.class);
//得到返回的数据body
JSONObject jsonObject = JSONObject.parseObject(forEntity.getBody());
String code = jsonObject.get("code").toString();
if(code.equals("1")){
msg = "推送成功";
return Result.success(msg);
}else if(code.equals("0")){
msg = "推送失败";
}else{
msg = jsonObject.get("message").toString();
}
return Result.error(msg);
}
/**
* @param param
* @param url
* @return
*/
public static Result getImei(String param,String url){
String msg = null;
RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
//设置类型
MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8");
headers.setContentType(type);
HttpEntity<Imei> formEntity = new HttpEntity<>(new Imei(param), headers);
//发送数据方法
ResponseEntity<String> forEntity = restTemplate.postForEntity(url, formEntity, String.class);
//得到返回的数据body
JSONObject jsonObject = JSONObject.parseObject(forEntity.getBody());
String code = jsonObject.get("code").toString();
if(code.equals("1")){
String data = jsonObject.get("data").toString();
msg = data;
return Result.success(msg);
}else if(code.equals("0")){
msg = "推送失败";
}else{
msg = jsonObject.get("message").toString();
}
return Result.error(msg);
}
/**
* 远程控制所用
* @param channelId
* @param param
*/
public static void getList(String channelId,String param){
Result result = HttpUtils.getImei(param, "url");
if(result.getCode().equals("200")){
String string = result.getData().toString();
JSONObject jsonObject = JSONObject.parseObject(string);
String stationName = jsonObject.get("stationName").toString();
String simNo = jsonObject.get("simNo").toString();
//
ImeiResult imeiResult = new ImeiResult(channelId,stationName,simNo);
log.info(imeiResult.toString());
list.add(imeiResult);
}
}
public static void main(String[] args) {
String param ="89860445101980697675";
Result result = HttpUtils.getImei(param, "url");
System.out.println(result );
}
返回的类型,在博主博客里找吧,都会贴出来的。