OkHttpClient实现post请求,body传参,header携带参数

OkHttpClient实现post请求,body传参,header携带参数

  /**
     * 获取token
     * @param params
     * @return
     */
@RequestMapping("/getRongShiYunData")
    public static Map getRongShiYunData(@RequestParam Map params) {
        Map resultMap = new HashMap();
        String url = "http://123.139.15.174:9090/v1/oas/token/get_token?app_key";
        String app_key = "jaws0fefxreztuswepykgp0gypdwjb4l";
        String app_secret = "rkmpw2narsdhaxbiuyukoiyf1mn71od0";
        String data = "{\"app_key\":\"" + app_key + "\",\"app_secret\":\"" + app_secret + "\"}";
        try {
            OkHttpClient client = new OkHttpClient().newBuilder().build();
            MediaType mediaType=MediaType.parse("application/json");
            RequestBody body=RequestBody.create(mediaType, data);
            Request request=new Request.Builder().url(url).method("POST",body).addHeader("Content-Type","application/json").build();
            Response response=client.newCall(request).execute();
            ResponseBody resultBody = response.body();
            String jsonStr = resultBody.string().replaceAll("^.*access_token\":\"(.*?)\".*$","$1");
            System.out.println("access_token="+jsonStr);
            resultMap.put("access_token",jsonStr);
        } catch (IOException e) {
            e.printStackTrace();
        }
        return resultMap;
    }
    /**
     * 获取视频地址
     * @param params
     * @return
     */
    @RequestMapping("/get_live_address")
    public static Map get_live_address(@RequestParam Map params) {
        Map resultMap = new HashMap();
        String url = "http://123.139.15.174:9090/v1/oas/device/live/get_live_address";
        String data = "{\"device_sn\":\"" + StringUtils.getStringByObj(params.get("device_sn")) + "\",\"channel_num\":\"0 \",\"stream_type\":\"0\",\"protocol\":\"hls\"}";
        try {
            OkHttpClient client = new OkHttpClient().newBuilder().build();
            MediaType mediaType=MediaType.parse("application/json");
            RequestBody body=RequestBody.create(mediaType, data);
            Request request=new Request.Builder().url(url).method("POST",body).addHeader("Content-Type","application/json").addHeader("x-Token",StringUtils.getStringByObj(params.get("access_token"))).build();
            Response response=client.newCall(request).execute();
            ResponseBody resultBody = response.body();
            String urlStr = resultBody.string().replaceAll("^.*url\":\"(.*?)\".*$","$1");
            System.out.println("url="+urlStr);
            resultMap.put("url",urlStr);
        } catch (IOException e) {
            e.printStackTrace();
        }
        return resultMap;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值