Warum gibt UPNP mir den Fehler 501 aus, obwohl die von mir gesendete Curl-Anfrage korrekt ist?

Warum gibt UPNP mir den Fehler 501 aus, obwohl die von mir gesendete Curl-Anfrage korrekt ist?

Ich versuche, UPNP auf meinem Router zu verwenden, aber es wird immer der Fehler 501 angezeigt.

der Befehl, den ich verwende

curl "192.168.1.1:52869/control/igd/devinfo" --header "SOAPAction: urn:dslforum-org:service:DeviceInfo:1#GetInfo" -vv -d @1.xml -H "Content-Type: text/xml;charset=utf-8"

Diedeviceinfo.xmlvon dem ich die Informationen habe ... und derIGD.xmldass ich die SOAPAction von ... genau diesem Teil habe

<serviceList>
<service>
<serviceType>urn:dslforum-org:service:DeviceInfo:1</serviceType>
<serviceId>DeviceInfo</serviceId>
<controlURL>/control/igd/devinfo</controlURL>
<eventSubURL>/event/igd/devinfo</eventSubURL>
<SCPDURL>/DeviceInfo.xml</SCPDURL>

aus irgendeinem unbekannten Grund sind die einzigen Anfragen, die funktionieren, diese von diesem Tool

Bildbeschreibung hier eingeben

obwohl die IGD.xml jede Menge Optionen bietet ... Portweiterleitung und einige WAN-Optionen sind die einzigen, die im Tool verfügbar sind

der Befehl, der funktioniert

curl "192.168.1.1:52869/upnp/control/WANIPConn1"  --header "SOAPAction: urn:schemas-upnp-org:service:WANIPConnection:1#GetExternalIPAddress" -vv -d @1.xml -H "Content-Type: text/xml;charset=utf-8"

Die 1.xml-Datei sieht größtenteils wie eine Mischung aus der Soap-Aktion und der regulären XML-Soap-Anforderung aus.

<?xml version="1.0"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetExternalIPAddress xmlns:u=”urn:schemas-upnp-org:service:WANIPConnection:1″></u:GetExternalIPAddress></s:Body></s:Envelope>

Ich wusste nicht einmal, woher das Tool diese URL hatte, die sich völlig von denen in der igd.xml-Datei unterscheidet, also suchte ich nach den Zeichenfolgen in den Firmware-Dateien des Geräts und fand eine Datei namensgatedesc.sklmit nur den zwei Möglichkeiten die im Bild sind... wie ist das und wo liegt das Problem?

Antwort1

Sie haben intelligente Anführungszeichen um das Schema in 1.xml. Korrigieren Sie diese zuerst (es sei denn, sie entstehen nur durch das Einfügen hier).

Antwort2

zusätzlich zu dem, was @gaddman (danke Kumpel) gesagt hat … hier einige Informationen, die sicherlich jedem helfen werden, der auf dieses Problem stößt.

Wenn Sie es manuell machen, wird die Anfrage meistens auf diese Weise gestellt (ich verwende hierfür curl):

Locke "(hier geben Sie die Geräte-IP und den UPNP-Port + Kontroll-URL der Konfiguration ein, die Sie vornehmen möchten und die Sie sicher mit Tools wie finden werdenminiupnpc-2.1)", dann diese Überschrift--header "SOAPAction:(und ein langer Teil, den Sie oben in der Aktions-URL finden, genau wie in diesem Bild) + # (die gewünschte Aktion) dann-vv -D@die Datei, in die Sie die Informationen zur gewünschten Aktion einfügen.xml, dann dieser statische Header -H „Content-Type: text/xml;charset=utf-8“

Der Befehl sieht also grundsätzlich so aus:

curl "192.168.1.1:52869/control/igd/wlanc_1_1" --header "SOAPAction: urn:dslforum-org:service:WLANConfiguration:1#GetInfo" -vv -d @2.xml -H "Content-Type: text/xml;charset=utf-8"

Bildbeschreibung hier eingeben

Sie erhalten die URLs, indem Sie listdevices.exe in die Befehlszeile im Ordner miniupnpc-2.1 eingeben. Die XML-Datei ist größtenteils statisch und der dynamische Teil besteht aus dem SOAP-Action-Header wie folgt

<?xml version="1.0"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetInfo xmlns:u="urn:dslforum-org:service:WLANConfiguration:1"></u:GetInfo></s:Body></s:Envelope>

ich empfehle wirklich die Verwendung eines GUI-Tools, wenn Sie keine Ahnung davon haben wie UPnP-Testerfür Fenster oderUPnP-Toolwas ich dem anderen gegenüber wirklich bevorzuge, weil es Updates bekommt und meistens besser funktioniert.

entschuldigen Sie die unklare Erklärung, ich bin noch neu hier.

verwandte Informationen