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