0

我想使用以下代码删除活动热点用户,但说:

没有这样的项目

mikrotik.Send("/ip/hotspot/active/remove");
mikrotik.Send("=.id=" + username,true);

下面是 mikrotik 热点的截图 在此处输入图像描述

4

1 回答 1

4

最好的方法是找到活动热点用户的正确.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()的例子。它已经在 J​​ava 中完成,但在我看来很明显:

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;

    }
于 2017-03-07T15:08:09.047 回答