Frage zur API (Diagnostics)

Started by SenseHH, August 17, 2019, 02:29:36 PM

Previous topic - Next topic
Moin,

ich nutze die API um meine externe IP zu ermitteln.

Ich Frage das über /diagnostics/interface/getRoutes ab.

Mal kann ich die externe IP im Array [3][destination] abfragen:

    [3] => Array
        (
            [proto] => ipv4
            [destination] => ???.???.???.???
            [gateway] => link#13
            [flags] => UHS
            [use] => 0
            [mtu] => 16384
            [netif] => lo0
            [expire] =>
            [intf_description] =>
        )

aber ohne was zu ändern steht auf einmal die externe IP im Array [2][destination] drin.

    [2] => Array
        (
            [proto] => ipv4
            [destination] => 127.0.0.1
            [gateway] => link#9
            [flags] => UH
            [use] => 1155
            [mtu] => 16384
            [netif] => lo0
            [expire] =>
            [intf_description] =>
        )

und ich bekomme nur als externe IP "127.0.0.1" angezeigt.

Ist das noch ein Fehler, oder mache ich was verkehrt?


Hallo,

nutzt keiner die API?
Oder kann jemand das Verhalten bestätigen?

Wäre toll wenn jemand das bestätigen kann, besser sogar noch wenn jemand wüsste was ich verkehrt mache.

SenseHH

das ist die Routingtabelle. Die ist nicht zwangsläufig sortiert. Du musst hier filtern, wenn du nach dem default gateway suchst.

Quote from: fabian on August 25, 2019, 11:25:22 AM
das ist die Routingtabelle. Die ist nicht zwangsläufig sortiert. Du musst hier filtern, wenn du nach dem default gateway suchst.
Was meinst Du mit "Du musst hier filtern"?

Kannst Du bitte noch die Angabe machen, wo ich filtern musst.

Danke.

indem du nicht mit [3] suchst, sondern nach kriterien filterst wie zum beispiel so in ruby: .select { |entry| entry['value name'] == "some value" }