EasyNVR RTSP转RTMP-HLS流媒体服务器前端构建之:关于接口调用常见的一些问题(401 Unauthorized)
来源:互联网 发布:linux rsysnc 编辑:程序博客网 时间:2024/06/06 00:11
最近许多小伙伴咨询关于EasyNVR接口调用的问题,多半就是遇到权限的问题(401 Unauthorized)
在此,基于自身对于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来进行卡接口的请求
在没有调用接口进行设置前
$.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设置后:
此时当我们进行其他接口的请求时,就会发现在request header 存在cookie tooken;并且可以成功请求接口。
关于EasyNVR
EasyNVR能够通过简单的网络摄像机通道配置,将传统监控行业里面的高清网络摄像机IP Camera、NVR等具有RTSP协议输出的设备接入到EasyNVR,EasyNVR能够将这些视频源的音视频数据进行拉取,转换为RTMP/HLS,进行全平台终端H5直播(Web、Android、iOS),并且EasyNVR能够将视频源的直播数据对接到第三方CDN网络,实现互联网级别的直播分发;
详细说明:http://www.easydarwin.org/easynvr/
获取更多信息
邮件:support@easydarwin.org
WEB:www.EasyDarwin.org
Copyright © EasyDarwin.org 2012-2017
- EasyNVR RTSP转RTMP-HLS流媒体服务器前端构建之:关于接口调用常见的一些问题(401 Unauthorized)
- EasyNVR RTSP转RTMP-HLS流媒体服务器前端构建之_关于接口调用常见的一些问题(401 Unauthorized)
- EasyNVR RTSP转RTMP-HLS流媒体服务器前端构建之:通过接口获取实时信息
- EasyNVR RTSP转RTMP-HLS流媒体服务器前端构建之:通过接口获取实时信息
- EasyNVR RTSP转RTMP/HLS流媒体服务器前端构建之:内部搜索功能的实现
- EasyNVR RTSP转RTMP/HLS流媒体服务器前端构建之:bootstrap弹窗功能的实现
- EasyNVR RTSP转RTMP-HLS流媒体服务器前端构建之:bootstrap弹窗功能的实现
- EasyNVR RTSP转RTMP-HLS流媒体服务器前端构建之:内部搜索功能的实现
- EasyNVR RTSP转RTMP-HLS流媒体服务器前端构建之:bootstrap-datepicker日历插件的实时动态展现
- EasyNVR RTSP转RTMP-HLS流媒体服务器前端构建之:使用BootstrapPagination以分页形式展示数据信息
- EasyNVR RTSP转RTMP-HLS流媒体服务器前端构建之:使用BootstrapPagination以分页形式展示数据信息
- EasyNVR RTSP转HLS(m3u8+ts)流媒体服务器前端构建之:bootstrap-datepicker日历插件的实时动态展现
- rtsp转rtmp、hls网页直播服务器EasyNVR前端兼容性调试:ie下的 pointer-events: none
- rtsp转rtmp、hls网页直播服务器EasyNVR前端兼容性调试:ie下的 pointer-events- none
- EasyNVR H5直播流媒体解决方案前端构建之:如何播放自动适配RTMP/HLS直播播放
- 流媒体之HLS, RTSP, RTMP
- 前端播放流媒体(RTMP,RTSP,HLS)
- 流媒体协议(HLS/RTSP/RTMP)比较
- 设计模式之迭代器模式和组合模式
- MUI click事件无效 click没反应 click监听不到
- 顺序表应用5:有序顺序表归并
- 常见的代码性能优化
- 网易面试题引发的思考
- EasyNVR RTSP转RTMP-HLS流媒体服务器前端构建之:关于接口调用常见的一些问题(401 Unauthorized)
- JavaScript 内存泄漏教程
- Intent简介及属性
- 如何使用web3.js 部署智能合约
- 图说Java —— 理解Java机制最受欢迎的8幅图
- LeetCode算法题——Wildcard Matching
- JavaScript ES6中export及export default的区别
- Server Tomcatv8.5 Server at localhost failed to start
- Chrome开发工具窗口使用记录