Hatena::Groupvbscript

MSXML2.XMLHTTP

主要な Windows 標準コンポーネントの一覧 → http://vbscript.g.hatena.ne.jp/keyword/ProgID
VBScript 基礎文法最速マスター → http://vbscript.g.hatena.ne.jp/cx20/20100131/1264906231

MSXML2.XMLHTTP

MSXML2.XMLHTTP

概要

MSXML2.XMLHTTP は、XMLHttpRequest オブジェクト を表す ProgID です。

XMLHttpRequest を使用することで、Web サーバーに情報を送信したり受信することが可能です。

XMLHttpRequest オブジェクトは、IE7 からは IE の組み込みオブジェクトとして使用することが可能です。

このライブラリはクライアント用途に設計されたライブラリ WinINetMicrosoft Windows Internet)に依存しています。

サーバー用途(GUI を使用しないプログラム)では、WinHTTPWindows HTTP Services)ベースの MSXML2.ServerXMLHTTP

もしくは WinHttp.WinHttpRequest を使うことが推奨されているようです。

サンプル

' File : SaveUrlToFile.vbs
' Usage : CScript //Nologo SaveUrlToFile.vbs
' Description : VBScript から XMLHTTP を使用して Web の内容を保存するサンプル。
option Explicit

Call Main()

Sub Main()
    Dim strURL
    strURL = "http://www.hatena.ne.jp/"
    Dim strFileName
    strFileName = "hatena.txt"
    Call SaveUrlToFile( strURL, strFileName )
End Sub

Sub SaveUrlToFile( strURL, strFileName )
    Dim http
    Set http = CreateObject("MSXML2.XMLHTTP") 
    http.Open "GET", strURL, False
    http.Send

    Dim strMessage
    Dim bOverwrite
    Dim bUnicode
    strMessage = http.ResponseText
    bOverwrite = True
    bUnicode = True ' UNICODE のページを SJIS のファイルに保存するとエラーが発生することがある為、UNICODE 形式にしています。
    Call WriteToToFile( strMessage, strFileName, bOverwrite, bUnicode )
End Sub

Sub WriteToToFile( strMessage, strFileName, bOverwrite, bUnicode )
    Dim fso
    Set fso = CreateObject("Scripting.FileSystemObject")
    Dim file
    Set file = fso.CreateTextFile(strFileName, bOverwrite, bUnicode)
    file.Write strMessage
    file.Close
End Sub

実行結果

ようこそ<UserID>さん … IE の Cookie が使用される為、ブラウザ経由と同じユーザーとしてアクセスします。
Myはてな
ログアウト
ヘルプ

参考情報