はじめに
「JScriptでHTTPアクセス」という投稿をしましたが、HTTPSについて何にも触れてなかったなと思い、
ほとんど追記レベルですが、投稿します。
HTTPS
通常、HTTPSアクセスする場合は、URLを「http://」から「https://」に変えれば良いのですが
実際に使うときに困るのが開発環境など、自己署名(通称、オレオレ署名)を利用している場合です。
このようなサーバにアクセスすると「この証明機関は、無効か正しくありません」とエラーが出てしまいます。
これを回避する方法として、「ServerXMLHTTP」では「setOption」メソッドで、
SSLの認証レベルを変更可能となっています。
サンプルコードでは、認証に関する全てのサーバエラーを無視しています。
try {
// 「ServerXMLHTTP」オブジェクト生成
var http = new ActiveXObject("Msxml2.ServerXMLHTTP");
// 要求初期化
http.open("GET", "https://xxx.xxx.xxx.xxx/yyyyy", false);
// オプション設定
// SXH_OPTION_IGNORE_SERVER_SSL_CERT_ERROR_FLAGS : 2
// SXH_SERVER_CERT_IGNORE_ALL_SERVER_ERRORS : 13056
http.setOption(2, 13056);
// 要求
http.send();
// 応答結果表示
WScript.Echo(http.status + ":" + http.statusText);
WScript.Echo(http.getAllResponseHeaders());
WScript.Echo(http.responseText);
} catch (e) {
// エラーの場合
WScript.Echo("Error(" + (e.number & 0xFFFF) + "):" + e.message);
}