このサービスに接続して xml を返すためのヘルプを探しています。
手順は次のとおりです(ここから):
入力とリレーの状態は、XML ページ state.xml のポート 80 (または設定で指定されたポート) に要求を送信することで監視できます。リレーは、ポート 80 (またはセットアップで指定されたポート) の同じページに GET 要求を送信することによって制御できます。これは、Web ブラウザの URL 行にコマンドを入力することで確認できます。
現在の状態をリクエストする: http://"ip address"/state.xml
...
WebRelay-DualTM ユニットで制御パスワードが有効になっており、ブラウザから state.xml ページが要求された場合、ブラウザはユーザーにパスワードの入力を求めます。XML 要求がブラウザーではなく別のアプリケーションから送信された場合、html 要求には、base 64 エンコード方式を使用してエンコードされたパスワードが含まれている必要があります。パスワードのない HTML リクエスト ヘッダーは次のようになります。
GET /state.xml?relay1State=1&noReply=1 HTTP/1.1 (Ends with two \r\n)
パスワードを含む html リクエスト ヘッダーは次のようになります。
GET /state.xml?relay1State=1&noReply=1 HTTP/1.1(\r\n here) Authorization: Basic bm9uZTp3ZWJyZWxheQ== (Ends with two \r\n)
bm9uZTp3ZWJyZWxheQ==
ユーザー名とパスワードの base 64 でエンコードされたバージョンはどこにありますか none:webrelay
コード:
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);
}
どんな助けでも大歓迎です。