会话 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;