Hatena::Groupuwsc

MSXML2.XMLHTTP

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

MSXML2.XMLHTTP

MSXML2.XMLHTTP

概要

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

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

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

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

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

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

サンプル

// File : SaveUrlToFile.uws
// Description : UWSC から XMLHTTP を使用して Web の内容を保存するサンプル。
option Explicit

Main()

Procedure Main()
    Dim strURL
    strURL = "http://www.hatena.ne.jp/"
    Dim strFileName
    strFileName = "hatena.txt"
    SaveUrlToFile( strURL, strFileName )
Fend

Procedure SaveUrlToFile( strURL, strFileName )
    Dim http
    http = CreateOleObj("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 形式にしています。
    WriteToToFile( strMessage, strFileName, bOverwrite, bUnicode )
Fend

Procedure WriteToToFile( strMessage, strFileName, bOverwrite, bUnicode )
    Dim fso
    fso = CreateOleObj("Scripting.FileSystemObject")
    Dim file
    file = fso.CreateTextFile(strFileName, bOverwrite, bUnicode)
    file.Write( strMessage )
    file.Close
Fend

実行結果

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

参考情報