¿Por qué UPNP me da el error 501 aunque la solicitud Curl que envié es correcta?

¿Por qué UPNP me da el error 501 aunque la solicitud Curl que envié es correcta?

Estoy intentando usar UPNP en mi enrutador pero sigue dándome el error 501

el comando que estoy usando

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"

elinformación del dispositivo.xmlde donde obtuve la información... y elIGD.xmlque obtuve la SOAPAction de... exactamente esta parte

<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>

Por alguna razón desconocida, las únicas solicitudes que funcionan son estas también de esta herramienta.

ingrese la descripción de la imagen aquí

aunque IGD.xml proporciona toneladas de opciones... el reenvío de puertos y algunas opciones wan son las únicas disponibles en la herramienta

el comando que funciona

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"

El archivo 1.xml se ve así principalmente como una combinación de la acción de jabón y la solicitud de jabón xml normal.

<?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>

Ni siquiera sabía de dónde sacó la herramienta esa URL que es totalmente diferente a las del archivo igd.xml, así que busqué las cadenas en los archivos de firmware del dispositivo y encontré un archivo llamadogatedesc.sklcon solo las dos opciones que estan en la imagen... como es eso y donde esta el problema?

Respuesta1

Tiene comillas tipográficas alrededor del esquema 1.xml, corríjalas primero (a menos que sea solo pegando aquí).

Respuesta2

Además de lo que dijo @gaddman (gracias amigo)... aquí hay información que seguramente ayudará a cualquiera que se encuentre con este problema.

Si lo hace manualmente, la mayoría de las solicitudes se realizan de esta manera (estoy usando curl para el trabajo)

rizo "(aquí escribe la IP del dispositivo y el puerto upnp + URL de control de la configuración que desea, asegúrese de que la encontrará usando herramientas comominiupnpc-2.1)" entonces este encabezado--encabezado "Acción SOAPA:(y una parte larga que encontrarás en la parte superior de la URL de acción como esta imagen)+#(la acción que deseas) luego-vv -d@el archivo donde pones la información de la acción que deseas.xml luego este encabezado estático -H "Tipo de contenido: text/xml;charset=utf-8"

Básicamente, el comando se ve así.

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"

ingrese la descripción de la imagen aquí

obtienes las URL escribiendo listdevices.exe en la línea de comando en la carpeta miniupnpc-2.1. el archivo xml es en su mayor parte estático y la parte dinámica está hecha del encabezado de acción de jabón como este

<?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>

Realmente recomiendo usar una herramienta gui si no tienes idea de esto. Probador UPnPpara ventanas oHerramienta UPnPque realmente prefiero sobre el otro porque recibe actualizaciones y funciona mejor en su mayoría.

Perdón por la explicación no clara, todavía soy nuevo en esto.

información relacionada