對接海康isc遇到的問題及解決方法
阿新 • • 發佈:2022-03-22
問題:
最近在linux上用c++對接海康的isc,在ip、port和請求地址都沒錯的情況下,用海康的OpenAPI介面測試工具也能正常查詢
可是在程式中用HTTPUTIL_Post呼叫始終錯誤,使用HTTPUTIL_GetLastStatus獲取狀態碼為404或者10004
char appkey[] = ""; char secret[] = ""; char szUrl[] = "https://ip:443/api/resource/v1/park/parkList"; char szBody[] = "{}"; int dataLen = 0; char* data = httpUtil::HTTPUTIL_Post(szUrl, szBody, appkey, secret, 1000, &dataLen);
解決方法:
在安防平臺登陸介面,將portal後刪掉,在portal前加”artemis-”,進入文件中心
在文件中心找到你要使用的介面,可以看到真正的URL與海康開放平臺上的寫的是有些許不同的,在埠號後多了"/artemis"
將程式碼中的url稍作修改
char appkey[] = ""; char secret[] = ""; char szUrl[] = "https://ip:443/artemis/api/resource/v1/park/parkList"; char szBody[] = "{}"; int dataLen = 0; char* data = httpUtil::HTTPUTIL_Post(szUrl, szBody, appkey, secret, 1000, &dataLen);
執行看看輸出結果,可以看到是能正確獲取資料的