CGI

会话 CGI

版本/作者/日期修改内容
1.0/David/2013-03-30初版

概述

 用户可通过 CGI 接口创建、维持、结束、查询 Session 。
一个 Session 被创建后,用户可获得返回的 Session ID ,在 Session 生存周期内,用户可通过 Session ID 来进行用户的认证,其权限为创建该 Session 时所认证的用户权限。当用户访问完毕,可结束该 Session 。
一个 Session 的生存周期为 10 分钟,用户如果在其生存周期内调用使用该 Session 的 ID 来进行用户认证的 CGI 命令,则该 Session 的生存周期则从成功调用的时刻再延长 10 分钟,否则生存周期结束后,该 Session 也自动结束。例如:
	用户创建 Session:	http://192.168.0.188/create_session.cgi?user=visitor&pwd= 
	IP Camera 返回:		var session=268480091;
                                                  var group=65475;	
	然后用户只要在 10 分钟内调用
	http://192.168.0.188/get_status.cgi?session=268480091 
	那么该 Session 的生存周期会从此刻开始延长 10 分钟。周而复始,就可达到维持 Session 不断存活的作用。

创建 Session

create_session.cgi

  • 权限要求:
访问者
  • 语法:
/create_session.cgi[?user=&pwd=&session=&group=&json=&jsonp_callback=]
  • 参数:
user/pwd:参数认证方式中需用到的登录用户名/密码
  session/group:返回的相应的变量名称设置
  json/jsonp_callback:返回 json 类型数据设置
  • 返回:
session:创建 Session 的 ID,0 代表创建 Session 失败。
group:创建 Session 所具备的权限,-1代表创建 Session 失败。其它取值如下:
管理者	0x1ffff
访问者	Bit0:是否具备视频访问权限
	Bit1:是否具备拍照权限
	Bit2:是否具备录像权限
	Bit3:是否具备音频访问权限
	Bit4:是否具备对话权限
	Bit4:是否具备控制权限
  • 示例:
 http://192.168.0.188/create_session.cgi?user=visitor&pwd= 
IP Camera 返回
var session=268480091;
var group=65475; 
http://192.168.0.188/create_session.cgi?user=admin&pwd=&session=s&group=g 
IP Camera 返回
var s=1891048766;
var g=131071;
  • 说明:
create_session.cgi 和其它 CGI 命令有一点不同的地方,如果在浏览器中使用 HTTP Basic Authentication 认证方式来调用 create_session.cgi ,是不会弹出对话框来提示输入用户名/密码,而是直接返回:
  var session=0;
  var group=-1;

结束 Session

close_session.cgi

  • 权限要求:
  • 语法:
/close_session.cgi?session=[&next_url=&json=&jsonp_callback=]
  • 参数:
session:要结束 Session 的 ID
next_url:成功操作后的返回页面
	json/jsonp_callback:返回 json 类型数据设置
  • 返回:
操作结果的文本信息或指定页面
  • 示例:
http://192.168.0.188/close_session.cgi?session=268480091

查询当前 IP Camera 上存在的 Session 列表

get_session_list.cgi

  • 权限要求:
管理者
  • 语法:
/get_session_list.cgi[?user=&pwd=&session=&session_user=&session_ip=&number=&json=&jsonp_callback=]
  • 参数:
user/pwd:参数认证方式中需用到的登录用户名/密码
session:Session 认证方式需用到的 Session ID
session_user/session_ip/number:返回的相应的变量名称设置
json/jsonp_callback:返回 json 类型数据设置
  • 返回:
如果返回 js 文本:
      session_user:数组变量,创建 Session 的用户名称
      session_ip:数组变量,创建 Session 的 IP 地址
      number:数组中的变量数目
    如果返回 json 文本
    session 对象数组,session 对象包括 user 和 ip 两个元素
  • 示例:
http://192.168.0.188/get_session_list.cgi?session=1891048766&session_user=user&session_ip=ip 
IP Camera 返回:
var user=new Array();
var ip=new Array();
user[0]='visitor';
ip[0]='192.168.0.16';
user[1]='admin';
ip[1]='192.168.0.16';
var number=2;
版权所有:深圳市瑞彩电子科技有限公司

信产部备案号:粤ICP备09050685号 技术支持:800069965