我想用以下代码删除活跃的热点用户,但是说:
没有这样的项目
mikrotik.Send("/ip/hotspot/active/remove");
mikrotik.Send("=.id=" + username,true);
下面是mikrotik热点的截图
答案 0 :(得分:2)
执行此操作的最佳方法是通过执行以下操作找到活动热点用户的正确 .id ...
/ip/hotspot/active/print
您将收到如下活跃用户列表:
[tag=3, data={idle-time=6s, uptime=47s, bytes-out=121490,.id=*AC100016, mac-address=2C:AE:2B:9A:22:37, packets-out=314, session-time-left=59m13s, login-by=http-chap, bytes-in=47381, address=172.16.0.22, radius=false, server=SERVER_TEST, user=0872test, packets-in=330}]
在这种情况下,您需要的.id是 .id = * AC100016
现在,我举例说明我的方法 deleteActiveUser()。它已经用Java完成了,但在我看来很清楚:
public boolean deleteActiveUser(String id_param){
boolean ret = true;
try {
StringBuilder sb = new StringBuilder();
sb.append("/ip/hotspot/active/remove .id=");
sb.append(id_param);
this.getConnection(this.mikrotik).execute(sb.toString());
} catch (MikrotikApiException e) {
ret = false;
e.printStackTrace();
} catch (NullPointerException ex) {
ex.printStackTrace();
ret = false;
} finally {
closeConnection();
}
return ret;
}