• 當前位置:首頁 > IT技術 > Windows編程 > 正文

    .NET對接視頻智能分析平臺API的技巧總結
    2021-08-07 20:42:44

    TSINGSEE青犀視頻智能分析平臺EasyNVR、EasyCVR等都具備豐富的API接口,API接口中密碼需要MD5加密,這一點是為了系統安全考慮,下文中有具體實現,可以參考。本文我們總結下NET對接TSINGSEE青犀視頻智能分析平臺API用到的幾個小功能,TSINGSEE青犀視頻智能分析平臺中API接口提供的POST和GET的調用下文中也有具體實現,請注意下,我們反復強調接口調用的時候請注意下TOKEN值的傳遞。

    1、Easy系列產品在登錄時對密碼需要進行32位MD5加密,.NET對應實現如下:

    public string GetMd5(string str)
            {
                MD5 md5 = new MD5CryptoServiceProvider();
                byte[] bytes = System.Text.Encoding.UTF8.GetBytes(str);
                bytes = md5.ComputeHash(bytes);
                md5.Clear();
                string ret = "";
                for (int i = 0; i < bytes.Length; i++)
                {
                    ret += Convert.ToString(bytes[i], 16).PadLeft(2, '0');
                }
                return ret.PadLeft(32, '0');
            }

    2、向指定URL發送HTTP -GET方法的請求

    public string SendGet(string url, string param)
            {
                string result = String.Empty;
                StreamReader reader = null;
                try
                {
                    string urlNameString = url + "?" + param;
                    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(urlNameString);
                    request.Method = "GET";
                    request.ContentType = "text/html;charset=UTF-8";
                    request.Accept = "*/*";
                    request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)";
                    //頭里面要帶入token
                    request.Headers.Add("Cookie", "token=acMyRwXZg");
                    HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                    Stream responseStream = response.GetResponseStream();
                    reader = new StreamReader(responseStream, Encoding.GetEncoding("utf-8"));
                    result = reader.ReadToEnd();
    
                    reader.Close();
                    responseStream.Close();
                    response.Close();
                    reader = null;
                    responseStream = null;
                    response = null;
                }
                catch (Exception ex)
                {
                    Console.WriteLine("發送GET請求出現異常:" + ex.Message);
                }
                finally
                {
                    if (reader != null)
                    {
                        reader.Close();
                    }
                }
                return result;
            }

    3、向指定 URL 發送HTTP-POST方法的請求

    public string SendPost(string url, string jsonData, string encoding)
            {
                string result = String.Empty;
                try
                {
                    CookieContainer cookie = new CookieContainer();
                    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
                    request.Method = "POST";
                    request.Headers.Add("x-requested-with", "XMLHttpRequest");
                    request.ServicePoint.Expect100Continue = false;
                    request.ContentType = "application/x-www-form-urlencoded";
                    request.Accept = "*/*";
                    request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)";
                    request.ContentLength = Encoding.UTF8.GetByteCount(jsonData);
                    request.CookieContainer = cookie;
                    using (StreamWriter writer = new StreamWriter(request.GetRequestStream(), Encoding.GetEncoding(encoding)))
                    {
                        writer.Write(jsonData);
                    }
    
                    HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                    response.Cookies = cookie.GetCookies(response.ResponseUri);
                    using (Stream responseStream = response.GetResponseStream())
                    {
                        using (StreamReader reader = new StreamReader(responseStream, Encoding.GetEncoding(encoding)))
                        {
                            result = reader.ReadToEnd();
    
                            reader.Close();
                        }
                        responseStream.Close();
                    }
                    response.Close();
                    response = null;
                    request = null;
                }
                catch (Exception ex)
                {
                    Console.WriteLine("發送GET請求出現異常:" + ex.Message);
                }
                return result;
            }

    ?

    本文摘自 :https://blog.51cto.com/t

    開通會員,享受整站包年服務
    国产呦精品一区二区三区网站|久久www免费人咸|精品无码人妻一区二区|久99久热只有精品国产15|中文字幕亚洲无线码