schlechte Anfrage mit UrlFetchApp

Suchen Sie Hilfe beim Herstellen einer Verbindung zu diesem Dienst und beim Zurückgeben der XML-Datei.

Hier sind die Anweisungen (vonHier):

Der Status der Eingänge und Relais kann überwacht werden, indem eine Anforderung für die XML-Seite state.xml an Port 80 (oder den im Setup angegebenen Port) gesendet wird. Die Relais können gesteuert werden, indem GET-Anforderungen an dieselbe Seite an Port 80 (oder an den in Setup angegebenen Port) gesendet werden. Dies kann durch Eingabe von Befehlen in die URL-Zeile eines Webbrowsers demonstriert werden.

Fordern Sie den aktuellen Status an: http: // "ip address" /state.xml

...

Wenn das Steuerungskennwort im WebRelay-DualTM-Gerät aktiviert ist und die Seite state.xml über einen Browser angefordert wird, fordert der Browser den Benutzer zur Eingabe des Kennworts auf. Wenn die XML-Anforderung von einer anderen Anwendung und nicht von einem Browser gesendet wird, muss die HTML-Anforderung das Kennwort enthalten, das mit dem Basis-64-Codierungsschema codiert wurde. Der HTML-Anforderungsheader ohne das Kennwort sieht folgendermaßen aus:

GET /state.xml?relay1State=1&noReply=1 HTTP/1.1 (Ends with two \r\n)

Der HTML-Anforderungsheader mit dem Kennwort sieht folgendermaßen aus:

GET /state.xml?relay1State=1&noReply=1 HTTP/1.1(\r\n here)
Authorization: Basic bm9uZTp3ZWJyZWxheQ== (Ends with two \r\n)

woherbm9uZTp3ZWJyZWxheQ== ist die Base 64-codierte Version des Benutzernamens und des Passworts none: webrelay

Code:

function webRelay(){
  //working url http://75.65.130.27/state.xml

  var url = 'http://75.65.130.27/';

  var params = encodeURIComponent('state.xml');
  Logger.log(params);

  var headers = {
    "Authorization" : "Basic" + Utilities.base64Encode('none:webrelay')
  };

  var options =
   {
     "method" : "get",
     "headers" : headers
   };

  var state = UrlFetchApp.fetch(url+params, options);

  Logger.log('1: '+state);
  Logger.log(parse(state));
}

function parse(txt) {
  var doc = Xml.parse(txt, true);
}

Jede Hilfe wird sehr geschätzt.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage