如何使用mikrotik API检索mikrotik PPPoE服务器服务名称列表?

时间:2019-01-26 21:09:54

标签: hotspot mikrotik pppoe

我想通过使用mikrotik API来检索mikrotik PPPoE服务器服务名称列表,并通过选择菜单遍历所有服务名称。我自己完成了代码。代码如下:

$ctype =$this->uri->segment('3');
if($ctype=='PPP')
{
  if ($this->routerosapi->connect('1.1.1.1', 'xxx', 'xxx')) 
  {
    $this->routerosapi->write('/interface/pppoe-server/getall');
    $READ = $this->routerosapi->read(false);
    $mktserver= $this->routerosapi->parseResponse($READ);  
    $this->routerosapi->disconnect();
  }
}
elseif($ctype=='HSP')
{
  if ($this->routerosapi->connect('xxx', 'xxx', 'xxx')) 
  {
    $this->routerosapi->write('/ip/hotspot/server/getall');
    $READ = $this->routerosapi->read(false);
    $mktserver= $this->routerosapi->parseResponse($READ);  
    $this->routerosapi->disconnect();
  }
}  
<p>
    <label for="simple-required">Server</label>
    <select name="server" id="server" class="full-width">
    <?php foreach($mktserver as $item):?>
    <option value="<?php echo $item['service-name'];?>"><?php echo $item['service-name'];?></option>
    <?php endforeach;?>
</select>
</p>

我在做什么错了?

注意:
请具体说明您的答案。我不想要任何基本答案。我希望您非常仔细地阅读代码并理解它,并最终回答它。对于您的关注,我希望同时列出PPPoE和Mikrotik的热点。

1 个答案:

答案 0 :(得分:0)

冒着给出“基本”答案的风险,请参阅以下mikrotik cli命令:

:put [/interface get [find type=pppoe-out]]

我建议在尝试在api中执行操作之前,先获取要在cli中正常工作的命令。