海康api对接(Java)

1.找到他的开发包,下载下来

地址:open.hikvision.com
海康api对接(Java)_第1张图片

2.配置maven,导入他的库

mvn install:install-file 
 -Dfile=D:\artemis-http-client-1.1.3.jar
 -DgroupId=artemis-http-client
 -DartifactId=hk
 -Dversion=1.1.3
 -Dpackaging=jar
 
 


  artemis-http-client
  hk
  1.1.3

上面这段贴在这
海康api对接(Java)_第2张图片
海康api对接(Java)_第3张图片
注意jar包地址
海康api对接(Java)_第4张图片
点确定,ok了就好了

3.贴代码

pom加入

<dependency>
  <groupId>artemis-http-clientgroupId>
  <artifactId>hkartifactId>
  <version>1.1.3version>
dependency>
import com.alibaba.fastjson.JSONObject;
import com.dpx.base.util.DataTypeConversionUtil;
import com.hikvision.artemis.sdk.ArtemisHttpUtil;
import com.hikvision.artemis.sdk.config.ArtemisConfig;

import java.util.HashMap;
import java.util.Map;

/**
 * 海康工具类
 */
public class HKUtil {
    static {
        // 代理API网关nginx服务器ip端口
        ArtemisConfig.host = "172.16.10.2";
        // 秘钥appkey
        ArtemisConfig.appKey = "25741305";
        // 秘钥appSecret
        ArtemisConfig.appSecret = "3GbjiRRFTnSy00GOJlvA";
    }
    /**
     * 能力开放平台的网站路径
     * TODO 路径不用修改,就是/artemis
     */
    private static final String ARTEMIS_PATH = "/artemis";
    /**
     * 通用海康接口
     * 调用POST请求类型(application/json)接口*
     * @return
     */
    public static Map<String,Object> publicHkInterface(JSONObject jsonBody,String url){
        final String getCamsApi = ARTEMIS_PATH +url;
        Map<String, String> path = new HashMap<String, String>(2);
        path.put("https://", getCamsApi);
        // post请求application/json类型参数
        String result =ArtemisHttpUtil.doPostStringArtemis(path,jsonBody.toJSONString(),null,null,"application/json",null);
        return  DataTypeConversionUtil.getStringToMap(result);
    }


    /**
     * 获取监控点预览取流URL
     * @param id 设备编号
     * @return
     */
    public static Map<String,Object> camerasPreviewURLs(String id){
        JSONObject jsonBody = new JSONObject();
        jsonBody.put("cameraIndexCode", id);
        jsonBody.put("protocol", "hls");
        Map<String,Object> returnMap=publicHkInterface(jsonBody,"/api/video/v1/cameras/previewURLs");
        return returnMap;
    }

    /**
     * API名称:
     * 查询监控点列表v2
     * 分组:
     * 视频资源接口
     * 提供方名称:
     * 资源目录服务
     * qps:
     * 描述:根据条件查询目录下有权限的监控点列表
     * @return
     */
    public static Map<String,Object> cameraSearch(){
        JSONObject jsonBody = new JSONObject();
        jsonBody.put("pageNo", 1);
        jsonBody.put("pageSize", 1000);
        Map<String,Object> returnMap=publicHkInterface(jsonBody,"/api/resource/v2/camera/search");
        return returnMap;
    }


    public static void main(String[] args) {
        //System.out.println(camerasPreviewURLs("d8177f269cdd488692c49f6b48f92b6c"));
        System.out.println(cameraSearch());
        //cameraSearch();
    }
}

注意他的body格式就行

你可能感兴趣的:(java)