FunTester alertover 推送 api 的 java httpclient 实现实例

FunTester · 2020年03月30日 · 752 次阅读

本人前几天发现一款很好用的推送 app——alertover,但是官网 api 的应用示例竟然没有 java 应用的示例,所以自己尝试写了一个。使用 httpclient 请求了一下 post 接口,传了一下 json 数据,判断一下响应的状态码。现分享代码,共大家参考。

public static void sendMessageToMobile(String title, String content, String receiver) throws JSONException, ClientProtocolException, IOException {
    String source = "s-6bf44a17-73ba-45dc-9443-c34c5d53";//mi5s发送源id
    if (title.equals(null)) {
        title = "测试";
    }
    if (content.equals(null)) {
        content = "我是008!";
    }
    title = new String(title.getBytes(), "ISO-8859-1");//转换字符编码格式
    content = new String(content.getBytes(), "ISO-8859-1");//转换字符编码格式
    CloseableHttpClient httpClients = HttpClients.createDefault();//新建连接
    JSONObject jsonObject = new JSONObject();//新建json数组
    jsonObject.put("source", source.trim());//添加发送源id
    jsonObject.put("receiver", receiver.trim());//添加接收组id
    jsonObject.put("content", content.trim());//发送内容
    jsonObject.put("title", title.trim());//发送标题
    HttpPost httpPost = new HttpPost("https://api.alertover.com/v1/alert");//post请求接口
    StringEntity entity = new StringEntity(jsonObject.toString());//设置报文实体
    entity.setContentEncoding("ISO-8859-1");//设置编码格式
    entity.setContentType("application/json");//设置contentType,发送数据格式
    httpPost.setEntity(entity);//设置请求实体
    HttpResponse res = httpClients.execute(httpPost);//执行post请求,得到响应
    if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {//判断一下返回状态
        output("测试发送消息成功!");
        } else {
            HttpEntity httpEntity = res.getEntity();//获取响应实体
            output(httpEntity.toString());//输出相应实体
        }
    httpClients.close();//关闭连接
}

往期文章精选

  1. java 一行代码打印心形
  2. Linux 性能监控软件 netdata 中文汉化版
  3. 接口测试代码覆盖率(jacoco)方案分享
  4. 性能测试框架
  5. 如何在 Linux 命令行界面愉快进行性能测试
  6. 图解 HTTP 脑图
  7. 写给所有人的编程思维
  8. 测试之 JVM 命令脑图

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册