staging.inyokaproject.org

Daten von der Fritzbox abfragen mit SOAP (TR064)

Status: Gelöst | Ubuntu-Version: Xubuntu 22.04 (Jammy Jellyfish)
Antworten |

Fried-rich

Anmeldungsdatum:
2. Mai 2013

Beiträge: 1162

Hallo,

ich habe versucht über die SOAP-Schnittstelle Daten von meiner Fritzbox abzurufen, hier einfach am Bsp. der SSID nur um das Prinzip zu verstehen. Als Ausgangspunkt habe ich das Script zum auslesen der öffentlichen IP aus dem UU-Wiki (https://wiki.ubuntuusers.de/FritzBox/Skripte/#ffentliche-IP-Adresse-auslesen) genommen (Variante 2). Das geht.

curl "http://fritz.box:49000/igdupnp/control/WANIPConn1" -H "Content-Type: text/xml; charset="utf-8"" -H "SoapAction:urn:schemas-upnp-org:service:WANIPConnection:1#GetExternalIPAddress" -d "<?xml version='1.0' encoding='utf-8'?> <s:Envelope s:encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' xmlns:s='http://schemas.xmlsoap.org/soap/envelope/'> <s:Body> <u:GetExternalIPAddress xmlns:u='urn:schemas-upnp-org:service:WANIPConnection:1' /> </s:Body> </s:Envelope>" -s

(grep hab ich weggelassen) Das habe ich versucht umzubauen. Die entscheidenden Stellen scheinen zu sein:

  • h**p://fritz.box:49000/igdupnp/control/WANIPConn1 (hier wird scheinbar eine "Kurzform" des 'WANIPConnection:1' eingetragen)

  • SoapAction:urn:schemas-upnp-org:service:WANIPConnection:1#GetExternalIPAddress

  • xmlns:u='urn:schemas-upnp-org:service:WANIPConnection:1'

Hier https://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/wlanconfigSCPD.pdf gibt es eine PDF zur "wlanconfig", aus dem habe ich die Infos bezogen die ich dann ersetzt habe.

curl "http://fritz.box:49000/igdupnp/control/wlanconfig1" -H "Content-Type: text/xml; charset="utf-8"" -H "SoapAction:urn:schemas-upnp-org:service:WLANConfiguration:1#GetSSID" -d "<?xml version='1.0' encoding='utf-8'?> <s:Envelope s:encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' xmlns:s='http://schemas.xmlsoap.org/soap/envelope/'> <s:Body> <u:GetExternalIPAddress xmlns:u='urn:schemas-upnp-org:service:WLANConfiguration:1' /> </s:Body> </s:Envelope>"

Ob diese "Kurzform" wirklich 'wlanconfig1' lautet bin ich nicht sicher, dazu findet sich in der PDF nichts. Das habe ich über eine Bsp. bei Google gefunden. Das ganze resultiert in einem Fehler und ich habe nicht den blassesten Schimmer was genau ich anders machen muss:

<?xml version="1.0"?>
 <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<s:Body>
<s:Fault>
<faultcode>s:Client</faultcode>
<faultstring>UPnPError</faultstring>
<detail>
<UPnPError xmlns="urn:schemas-upnp-org:control-1-0">
<errorCode>401</errorCode>
<errorDescription>Invalid Action</errorDescription>
</UPnPError>
</detail>
</s:Fault>
</s:Body>
</s:Envelope>

Vllt. hat jemand eine Idee

Friedrich

throwie0815

Anmeldungsdatum:
30. April 2024

Beiträge: 1

Fried-rich schrieb:

Hallo, Vllt. hat jemand eine Idee

Ja habe es gerade gelöst:

https://github.com/ran-sama/fritzbox-soap-python-json

Das ist natürlich auch zurück übertragbar auf curl und shell, wenn man vanilla Python vermeiden möchte. Exemplarisch werden 10 Endpoints und Methoden vorgestellt die über die eigentliche Frage sogar hinausgehen und bei anderen Problemen zusätzlich helfen können.

Lg

Antworten |