zoukankan      html  css  js  c++  java
  • 视频综合管理平台EasyNVS在实现代理时调用EasyDSS接口如何携带token?

    上一篇我们讲了TSINGSEE青犀视频为EasyDSS平台开发的EasyNVS管理平台是如何实现EasyDSS的接入。本文我们分享下EasyNVS在实现代理时调用EasyDSS接口,如何携带token。

    通过EasyNVS去管理EasyDSS,首先是通过代理的方式请求EasyDSS的接口,可是一旦EasyDSS中开启了接口鉴权,每一次请求都需要验证是否登陆。那么此时就需要将token信息携带。

    既然需要登录,那么就在代码中请求登录的接口,然后将token信息写入代理请求中,这样就可以实现权限的验证了。

    具体实现方式就是在代码中通过登录请求返回的数据,获取cookie的数据信息,遍历这个数据信息,将这个数据值塞入到代理的请求中。参考代码如下:

    if frpc.Token == "" || time.Since(frpc.TokenTime).Seconds() > float64(conf2.GetConf().SysTokenTimeout) {
       if err := frpc.RefreshToken(); err != nil {
          log.Println(err)
       }
    }
    httpPort := utils.Conf().Section("http").Key("http_port").MustInt(10080)
    director := func(req *http.Request) {
       req.URL.Scheme = "http"
       req.URL.Host = fmt.Sprintf("127.0.0.1:%d", httpPort)
       req.URL.Path = "/live/list"
    
       req.Header.Del("Cookie")
       req.AddCookie(&http.Cookie{
          Name:  consts.SessionSID,
          Value: frpc.Token,
       })
    }
    

    目前EasyDSS视频平台已经支持H.265编码的播放,更好适应了现代视频播放和存储的需要。此外,EasyDSS还支持定制其他功能或者版本,如果有需求,欢迎联系我们了解,EasyDSS提供测试版本,欢迎大家下载测试。

  • 相关阅读:
    PSR-2 编码风格规范
    Git中删除冗余的分支
    linux下ssh连接缓慢详解
    pytest框架之fixture详细使用
    如何利用jenkins插件查看allure报告-----完整篇
    CentOS上安装配置Python3.7
    [Python]requests使用代理
    Selenium
    Python性能分析工具-cProfile
    subprocessf运行window程序
  • 原文地址:https://www.cnblogs.com/easydss/p/14481945.html
Copyright © 2011-2022 走看看