前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >.NET对接TSINGSEE青犀视频智能分析平台API的部分功能及技巧总结

.NET对接TSINGSEE青犀视频智能分析平台API的部分功能及技巧总结

原创
作者头像
TSINGSEE青犀视频
修改2021-08-11 18:10:22
3060
修改2021-08-11 18:10:22
举报
文章被收录于专栏:TSINGSEE青犀视频TSINGSEE青犀视频

TSINGSEE青犀视频智能分析平台EasyNVR、EasyCVR等都具备丰富的API接口,API接口中密码需要MD5加密,这一点是为了系统安全考虑,下文中有具体实现,可以参考。本文我们总结下NET对接TSINGSEE青犀视频智能分析平台API用到的几个小功能,TSINGSEE青犀视频智能分析平台中API接口提供的POST和GET的调用下文中也有具体实现,请注意下,我们反复强调接口调用的时候请注意下TOKEN值的传递。

1、Easy系列产品在登录时对密码需要进行32位MD5加密,.NET对应实现如下:

代码语言:javascript
复制
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方法的请求

代码语言:javascript
复制
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方法的请求

代码语言:javascript
复制
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;
        }

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
智能推荐平台
智能推荐平台(Intelligent Recommendation Platform,IRP)是集生态、技术、场景于一体,采用业界领先的AI学习技术和智能推荐算法,基于腾讯多年在超大型场景中积累的最佳实践方法论,助力客户业务实现增长的企业级应用产品。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档