24
url[URL_ARGS_PCMAC] = “devmac”;
url[URL_ARGS_SSID] = “myssid”;
replace_http_ctrl_args (id, url);
/* 用 户 在 开 启 网 页 时 会 跳 转 到 192.168.1.1/webauth.htm? devip
=192.168.1.3&devmac=80:00:00:00:00:01&myssid=360WIFI*/
♦ 变更用户状态
int http_ctrl_action(struct in_addr addr, int id, int action)
参数:
addr:内网主机 IP 地址
id:为register_http_ctrl、register_http_ctrl_by_url_group 等成功时的返回值。
action: 动作,可使用宏 IGD_ACTION_ADD、IGD_ACTION_DEL、IGD_ACTION_CLEAN
IGD_ACTION_ADD:设置主机不再匹配此规则。
IGD_ACTION_DEL:设置主机需要匹配此规则。
IGD_ACTION_CLEAN:清除所有 ADD 操作的主机 ,规则重新适用于指定的用户组,此时 addr 可以为任意值。
返回值:
0 成功,<0 代表参数错误
注意:必须在调用 register_http_ctrl_xxxxx 函数的进程中调用该函数。
举例:
对所有用户进行 WEB 认证,跳转到路由器本地的 webauth.htm。
192.168.1.2 认证后,对此 IP 放行
struct in_addr addr;
struct redirect_url rd={ 0,};
int id;
NOS_STRUCT_INIT(&rd);
rd.islocal = 1;
id = register_http_ctrl(NULL,HTTP_CTRL_TYPE_WEBAUTH, NULL,
“webauth.htm”, &rd);
/*192.168.1.2 认证后,让系统对此放行*/
addr.s_addr=htonl(0xc0a80102);
http_ctrl_action(addr, id, IGD_ACTION_ADD);
/*现在 192.168.1.2 可以上网了,过一段时间后让 192.168.1.2 重新认证*/
http_ctrl_action(addr, id, IGD_ACTION_DEL);
♦ 销 注销 p http 控制规则
使用以下 API 注销 http 控制规则:
int unregister_http_ctrl(int id);
参数:
Id : register_http_ctrl 、 register_http_ctrl_by_url_group 、
register_http_ctrl_once、register_http_ctrl_once_by_url_group 成功时的
返回值。
返回值:
0:成功;<0:失败
举例: