
내 라우터에서 UPNP를 사용하려고 하는데 계속 501 오류가 발생합니다.
내가 사용하는 명령
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"
그만큼장치정보.xml내가 정보를 얻은 것은 ... 그리고 그 사람은IGD.xml내가 SOAPAction을 ... 정확히 이 부분에서 얻었어요
<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>
알 수 없는 이유로 작동하는 유일한 요청은 이 도구의 요청뿐입니다.
IGD.xml이 수많은 옵션을 제공한다고 생각하더라도 .. 포트 전달 및 일부 wan 옵션은 도구에서 사용할 수 있는 유일한 옵션입니다
작동하는 명령
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"
1.xml 파일은 주로 비누 작업과 일반 xml 비누 요청이 혼합된 것처럼 보입니다.
<?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>
나는 도구가 igd.xml 파일의 URL과 완전히 다른 URL을 어디서 얻었는지조차 몰랐기 때문에 장치의 펌웨어 파일에서 문자열을 검색하여 다음과 같은 파일을 찾았습니다.Gatedesc.skl이미지에 있는 두 가지 옵션만 사용하면... 그게 어떻게 되고 문제가 어디에 있습니까?
답변1
의 스키마 주위에 둥근 따옴표가 있습니다 1.xml
. 먼저 이를 수정하세요(여기에 붙여넣은 것이 아닌 한).
답변2
@gaddman(친구에게 감사합니다)이 말한 내용 외에도.... 여기에 이 문제를 겪는 모든 사람에게 도움이 될 몇 가지 정보가 있습니다.
수동으로 수행하는 경우 대부분의 요청이 이런 방식으로 이루어집니다(저는 작업에 컬을 사용하고 있습니다).
곱슬 곱슬하다 "(여기에 장치 IP 및 upnp 포트 + 원하는 구성의 제어 URL을 입력하면 다음과 같은 도구를 사용하여 확실히 찾을 수 있습니다.miniupnpc-2.1)" 다음 이 헤더--header "SOAPAction:(그리고 이 이미지와 같이 작업 URL 상단에서 찾을 수 있는 긴 부분)+#(원하는 작업) 그런 다음-vv -디@원하는 작업의 정보를 넣은 파일.xml 다음 정적 헤더 -H "Content-Type: text/xml;charset=utf-8"
기본적으로 명령은 다음과 같습니다
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"
miniupnpc-2.1 폴더의 명령줄에 listdevices.exe를 입력하면 URL을 얻을 수 있습니다. xml 파일은 대부분 정적이며 동적 부분은 다음과 같은 비누 작업 헤더로 구성됩니다.
<?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>
만약 당신이 이것에 대해 전혀 모른다면 GUI 도구를 사용하는 것이 좋습니다. UPnP 테스터창문용 또는UPnP 도구나는 업데이트와 기능이 대부분 더 좋아지기 때문에 다른 것보다 정말 선호합니다.
명확하지 않은 설명으로 인해 죄송합니다. 아직 이것에 익숙하지 않습니다.