package httpclient import ( "encoding/json" "fmt" "net/http" ) type CamerSdkStruct struct { Sdkid string `json:"sdkId"` Sdkname string `json:"sdkName"` Sdkargs string `json:"sdkArgs` } type Tasksingle struct { Taskid string `json:"taskid"` SdkList []CamerSdkStruct `json:"sdklist"` } type Camerasingle struct { Cameraid string `json:"cameraid"` RtspUrl string `json:"rtspUrl"` TaskList []Tasksingle `json:tasklist` } // get relative of camera, task and sdk func GetEsDataReq(url string, parma ...string) []Camerasingle { fmt.Println("查询请求路径" + url) // 配置信息 获取 client := &http.Client{} req, err := http.NewRequest("GET", url, nil) req.Header.Add("Content-Type", "application/json") resp, err := client.Do(req) if err != nil { fmt.Println(err) } defer resp.Body.Close() var responsedata []Camerasingle err = json.NewDecoder(resp.Body).Decode(&responsedata) if err != nil { fmt.Println(err) } return responsedata } // 获取所有的算法id type sdkInfo struct { SdkId string `json:"SdkId"` } func GetSdk(url string) []string { var sdkslice []string fmt.Println("查询请求路径" + url) // 配置信息 获取 client := &http.Client{} req, err := http.NewRequest("GET", url, nil) req.Header.Add("Content-Type", "application/json") resp, err := client.Do(req) if err != nil { fmt.Println(err) } defer resp.Body.Close() var sdkIds []sdkInfo err = json.NewDecoder(resp.Body).Decode(&sdkIds) if err != nil { fmt.Println(err) } for _, sdksingle := range sdkIds { sdkslice = append(sdkslice, sdksingle.SdkId) } return sdkslice }