23
struct redirect_url rd={ 0,};
user_group_mask_t gmask={ 0,};
NOS_STRUCT_INIT(&rd);
igd_set_bit(URL_ARGS_PCMAC,rd.flags);
igd_set_bit(URL_ARGS_PCIP, rd.flags);
igd_set_bit(URL_ARGS_SSID, rd.flags);
strcpy(rd.args, “&city=chengdu&id=028”);
igd_set_bit(UGRP_WIFI_2, gmask);
register_http_ctrl(gmask,HTTP_CTRL_TYPE_WEBAUTH,
NULL,”www.mywebauth.cn/login.htm” , &rd);
/* 注 意 在 使 用 远 程 WEB 认 证 时 , 需 要 首 先 调 用 网 址 白 名 单 对 网址www.mywebauth.cn 放行,否则页面会无法打开*/
♦ 定制附带参数的名称
在 redirect_url.flags 中指定的跳转附加参数的名称可以用以下函数进行替换:
int replace_http_ctrl_args(int id,char *url[URL_ARGS_MX])
参数:
id:调用 register_http_ctrl_前缀函数的返回值
url:新的名称数组,URL_ARGS_MX 为 64,插件能设置指定参数的名称,名
称 不 得 大 于 32 字 节 。 例 如 设 置 路 由 器 WAN 口 IP时 :
url[URL_ARGS_RIP]=”wanip”。对不需要修改的参数设置为NULL。
返回值:成功返回 0,失败小于 0
举例:
1、对 MAC 地 址 未 绑 定 用 户 进 行 WEB 认 证 , 跳 转 到 路 由 器 本 地的
webauth.htm,
并使用系统参数 IP、MAC、SSID, 并修改系统关键字 IP->”devip”, MAC-
>”devmac”,SSID->”myssid”
struct redirect_url rd={ 0,};
user_group_mask_t gmask={ 0,};
char *url[URL_ARGS_MX] = { NULL,};
int id;
NOS_STRUCT_INIT(&rd);
rd.islocal = 1;
igd_set_bit(URL_ARGS_PCIP, rd.flags);
igd_set_bit(URL_ARGS_PCMAC, rd.flags);
igd_set_bit(URL_ARGS_SSID, rd.flags);
igd_set_bit(UGRP_IPMAC_IVS, gmask);
id = register_http_ctrl(gmask,HTTP_CTRL_TYPE_WEBAUTH, NULL,
“webauth.htm”, &rd);
url[URL_ARGS_PCIP] = “devip”;