java获取clientid,Java 调用emqx 主动删除某个clientid连接

@OverridepublicResultDTO deleteClientId(String clientid){

log.info("deleteClientId 设备禁用,下行指令剔除原mqtt的clientid连接,入参clientid: {}", clientid);try{/*传入的clientid 可能有特殊字符,先进行字符转换*/clientid= URLEncoder.encode(clientid,"UTF-8");

}catch(UnsupportedEncodingException e) {

e.printStackTrace();returnResultDTO.getFailure();

}//这里拼接处要删除clientid 地址。例:http://127.0.0.1:18083/api/v4/clients/clientid_test

String url =String.format(ConstantConfig.MQTT_DASHBOARD_URL_STR, ConstantConfig.getServerConfig().getProperty(ConstantConfig.MQTT_DASHBOARD_URL).trim(), clientid );

CloseableHttpClient httpClient=HttpClients.createDefault();

HttpDelete httpDelete= newHttpDelete(url);

RequestConfig requestConfig= RequestConfig.custom().setConnectTimeout(35000).setConnectionRequestTimeout(35000).setSocketTimeout(60000).build();

httpDelete.setConfig(requestConfig);//这里emqx web的登录名密码。例:admin:public

String authString = ConstantConfig.getServerConfig().getProperty(ConstantConfig.MQTT_DASHBOARD_USER).trim()+":"+ConstantConfig.getServerConfig().getProperty(ConstantConfig.MQTT_DASHBOARD_PASSWORD).trim();byte[] authEncBytes =Base64.encodeBase64(authString.getBytes());

String authStringEnc= newString(authEncBytes);

httpDelete.setHeader("Authorization", "Basic" +authStringEnc);

httpDelete.setHeader("Content-type", "application/json");

httpDelete.setHeader("DataEncoding", "UTF-8");

CloseableHttpResponse httpResponse= null;try{//通过http请求进行访问。

httpResponse =httpClient.execute(httpDelete);

HttpEntity entity=httpResponse.getEntity();//获得删除结果

String result =EntityUtils.toString(entity);

}catch(ClientProtocolException e) {

e.printStackTrace();returnResultDTO.getFailure();

}catch(IOException e) {

e.printStackTrace();returnResultDTO.getFailure();

}finally{if (httpResponse != null) {try{

httpResponse.close();

}catch(IOException e) {

e.printStackTrace();

}

}if (null !=httpClient) {try{

httpClient.close();

}catch(IOException e) {

e.printStackTrace();

}

}

}returnResultDTO.getSuccess();

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值