Hatena::Groupuwsc

MSXML2.ServerXMLHTTP

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

MSXML2.ServerXMLHTTP

MSXML2.ServerXMLHTTP

概要

MSXML2.ServerXMLHTTP は Server XML HTTP オブジェクト を表す ProgID です。

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

ライブラリの実装には WinHTTP(HTTP通信専用コンポーネント)が用いられています。

同様のライブラリに WinINet ベースの MSXML2.XMLHTTP や WinHTTP ベースの WinHttp.WinHttpRequest があります。

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

サンプル

// File : SaveUrlToFile.uws
// Description : UWSC から Server XML HTTP を使用して 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.ServerXMLHTTP") 
    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

実行結果

ようこそゲストさん … IE の Cookie が使用されない為、ゲストユーザーとしてアクセスします。
ユーザー登録
ログイン
ヘルプ

参考情報