亚洲精品亚洲人成在线观看麻豆,在线欧美视频一区,亚洲国产精品一区二区动图,色综合久久丁香婷婷

              當前位置:首頁 > IT技術(shù) > Windows編程 > 正文

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

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

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

              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發(fā)送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("發(fā)送GET請求出現(xiàn)異常:" + ex.Message);
                          }
                          finally
                          {
                              if (reader != null)
                              {
                                  reader.Close();
                              }
                          }
                          return result;
                      }

              3、向指定 URL 發(fā)送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("發(fā)送GET請求出現(xiàn)異常:" + ex.Message);
                          }
                          return result;
                      }

              ?

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

              開通會員,享受整站包年服務立即開通 >