1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
| package util
|
| import (
| "car-service/vo"
| "encoding/json"
| "fmt"
| "time"
| )
|
| type HikHttpUtil struct {
| AppKey string
| AppSecret string
| ReqHost string
| }
|
| const (
| HikResult_Success = "0"
| )
|
|
|
| func (h *HikHttpUtil) Post(url string, reqBody map[string]interface{}) *vo.HikResult {
| //b := GetIBytes(reqBody)
| //contentMd5 := MD5Base64(b)
| date := time.Now().Format("2006-01-02 15:04:05")
| signature := Hik_ComputeSignatureBase64(h.AppKey, h.AppSecret, "POST", "*/*", CONTENT_TYPE_JSON, date, url)
| header := map[string]string{
| "Accept": "*/*",
| "Content-Type": CONTENT_TYPE_JSON,
| "Date": date,
| "X-Ca-Key": h.AppKey,
| "X-Ca-Signature": signature,
| "X-Ca-Signature-Headers": "x-ca-key",
| }
| //fmt.Println("Content-MD5:", contentMd5, "date:", date, "signature:",signature)
|
| bytes, err := DoPostRequest(h.ReqHost+url, CONTENT_TYPE_JSON, reqBody, nil, header)
| if err !=nil {
| fmt.Printf("DoPostRequest err:", err)
| return nil
| }
| var result vo.HikResult
| err = json.Unmarshal(bytes, &result)
| if err != nil {
| fmt.Println("unmarshal HikResult err:", err)
| fmt.Println("hik ret:", string(bytes))
| return nil
| }
| return &result
| }
|
|