zoukankan      html  css  js  c++  java
  • EasyNVR摄像机网页无插件直播方案H5前端构建之:关于接口调用常见的一些问题(401 Unauthorized)

    背景分析

    最近在使用EasyNVR的过程中,很多小伙伴咨询关于接口调用的问题,初步判断应该是遇到权限问题(401 Unauthorized)。EasyNVR为第三方系统和应用提供了标准的API接口,方便对接二次开发为专属于自己企业的互联网直播平台。接口一般分为接口定义者和接口调用者,定义者可以规定接收参数的类型及返回形式,而接口定义者则只能完全按照接口定义者规定的参数进行访问。就叫是我们所说的webService(网络服务)。
    错误状态

    本篇博文将基于自身对EasyNVR接口的调用和一些用户的反馈的问题来对接口调用进行说明:

    接口概述

    API采用Restful风格的Http协议,全部请求都使用Get/Post方式,字符不区分大小写。基本结构如下:

    http://<IP>:<Port>/api/<Version>/<Action>?<Param1>=<value>&<Param2>=<Value>&.....
    

    参数

    参数名称 定义 说明
    IP Platform Address IP地址
    Port Platform Port 通讯端口
    Version API Version API版本
    Action Action 执行的操作
    Param Action Parameter 操作所使用的参数,可以有多个参数,每个参数对应一个Value。
    Value Parameter Value 参数值,如果Value的字符串中出现&等特殊字符,则必须用””包住Value。

    返回值

    调用API会返回Json字符串,代表操作返回的结果

    {
       "EasyDarwin" : {
          "Body" : {
             ……
          },
          "Header" : {
             "CSeq" : "1",
             "ErrorNum" : "200",
             "ErrorString" : "Success OK",
             "MessageType" : "MSG_SC_API_ACK",
             "Version" : "1.0"
          }
       }
    }
    

    接口的调用

    许多小伙伴只注重接口的功能,往往直接传参调接口,于是就出现开篇的401报错;最简单的方法是,在我们拿到接口文档后,可以先阅读一下文档,做到心中有数;

    接口调用前先进行简单的说明:EasyNVR大部分的调用接口需要在cookie中携带token信息;对于这个token信息,是通过login接口返回的。当我们成功请求接口: ”/api/v1/login?username=xxx&password=xxx“时,会返回一个token信息;

    	{
    	   "EasyDarwin" : {
    	      "Body" : {
    	         "Token" : "a19cb5f6e7d2449d8d24c8a0fc554ca7"
    	      },
    	      "Header" : {
    	         "CSeq" : "1",
    	         "ErrorNum" : "200",
    	         "ErrorString" : "Success OK",
    	         "MessageType" : "MSG_SC_SERVER_LOGIN_ACK",
    	         "Version" : "1.0"
    	      }
    	   }
    	}
    

    我们对获取到的token信息存储到cookie中。出现401,大多数情况是cookie中tooken的携带、接口格式的错误、传递参数的错误。

    友情提示: 有的大兄弟在请求login接口时就发现出现401权限限制;该接口中password是经过MD5加密的。在进行其他接口请求时在request headers 的cookie会携带对应的tooken来进行请求。

    实例展示如下:

    首先引入jqueryCookie,用于设置cookie(如果有其他方法设置cookie可以不用引用)
    	<script src="/adminlte-2.3.6/plugins/cookie/jquery.cookie.min.js"></script>
    
    通过ajax来进行卡接口的请求
    • 在没有调用接口进行设置前

    cookie值

    $.ajax({
                        type: "GET",
                        url: "api/v1/login",
                        data: {
                            username: username,
                            password: password
                        },
                        global: false,
                        success: function(data) {
                            try {
                                var ret = JSON.parse(data);
                                var token = ret.EasyDarwin.Body.Token;
                                $.cookie("token", token);
                                //将tooken设置进cookie中
                                $.cookie("username", username);
                            } catch (e) {
                                console.log(e);
                            }
                        },
    

    通过ajax请求成功后对获得数据的处理,将tooken出入cookie中:

    • 调用接口并进行cookie设置后:

    EasyNVR-成功设置cookie

    此时当我们进行其他接口的请求时,会发现在request header 存在cookie tooken,并且可以成功请求接口。

    成功请求效果图

    EasyNVR硬件设备

    EasyNVR智能云终端硬件设备,填补了互联网直播行业设备空白,软硬一体,云端运维。体积小,方便放置部署;7*24小时不间断运行,低功耗;省去自建视频服务器高额费用;专属视频服务,免除了与其他硬件的相互影响,通电联网即可成功运行,部署操作简单。
    EasyNVR硬件

    EasyNVR应用场景

    EasyNVR可以说已经成为国内视频互联网化基础建设的排头兵,几乎各个民生行业都已经有了EasyNVR视频能力输出的身影,EasyNVR多年服务于各行各业视频基础建设,EasyNVR的可靠性、完整性、稳定性已经受到了业界的广泛认可!
    EasyNVR

    风景直播

    通过将景区的摄像头通过EasyNVR系统可以使管理部门建设掌上视频监管系统(景区内部使用)方便随时随地查各个景区的情况。同时可以将景区的经典风景通过微信、微博、网站和APP等方式对公众展示,用于宣传景区风景,展示景区魅力,提高景区知名度。
    EasyNVR场景一

    雪亮工程

    目前各地市社会视频资源存在种类繁多,各系统独立运行,没有有效整合和联网应用,通过EasyNVR系统,将各类视频资源整合,统一管理、统一调度,资源共享,实现了资源利用最大化,避免了重复建设。

    EasyNVR场景二

    平安校园

    把传统分散的校园监控汇总到EasyNVR系统,实现把传统的本地监控提升到随时随地的远程监控,把传统的纯粹的监控上升到管理,使视频监控成为学校教学管理的有力工具。更重要的是让家长一起参与,提升教学的主动性。提升学校声誉和学校品牌。

    EasyNVR场景三

    平安工地

    将工地的摄像头通过平台对施工方、监理方和监管部门开放,方便实时了解工程进度,工地人员安全以及财产情况,自成力能平台,专为工地构建的视频监控平台。

    EasyNVR场景四

    明厨亮灶

    而随着互联网和移动互联网被广大消费者接受,“社会共治”将是是明厨亮灶目前的核心理念。采用社会共治方式,将各餐饮企业的后厨视频通过EasyNVR系统让老百姓通过手机可实时看到后厨的情况,既起到全社会监督的效果也是对餐饮企业的宣传。

    EasyNVR安防摄像机网页流媒体服务

    EasyNVR是一款拥有完整、自主、可控知识产权,同时又能够具备软硬一体功能的安防互联网化流媒体服务器,能够通过简单的网络摄像机通道配置,将传统监控行业里面的高清网络摄像机IP Camera、NVR等具有RTSP、Onvif协议输出的设备接入到EasyNVR,EasyNVR能够将这些视频源的音视频数据进行拉取,转换为RTMP/HLS,进行全平台终端H5直播(Web、Android、iOS),并且EasyNVR能够将视频源的直播数据对接到第三方CDN网络,实现互联网级别的直播分发。详情可访问EasyNVR官网:http://www.easynvr.com

  • 相关阅读:
    hdu-3001 三进制状态压缩+dp
    最长公共子序列(LCS)
    矩阵最优路线DP
    CF-721C DAG图拓扑排序+费用DP
    拓扑排序
    BFS+二进制状态压缩 hdu-1429
    DAG最长路问题 hdu-1224
    并查集-解决区间和纠错问题 hdu-3038
    hdu 4972 根据每轮篮球赛分差求结果
    hdu 1116 欧拉回路+并查集
  • 原文地址:https://www.cnblogs.com/babosa/p/11123975.html
Copyright © 2011-2022 走看看