今天遇到一個坑,就是以前maven本地倉庫里面引入了海康的artmis.http.client jar包,這個包里面含有alibaba 的fastjson,我調用fastjson時,導入了這個依賴。雖然也能用。但是海康的這個包導致日志不輸出,報錯看不出來。
1.找到他的開發包,下載下來
地址:open.hikvision.com
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 <dependency> <groupId>artemis-http-client</groupId> <artifactId>hk</artifactId> <version>1.1.3</version> </dependency>
上面這段貼在這
注意jar包地址
點確定,ok了就好了
3.貼代碼
pom加入
<dependency> <groupId>artemis-http-client</groupId> <artifactId>hk</artifactId> <version>1.1.3</version> </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格式就行
https://blog.csdn.net/qq_39432715/article/details/108539135