【WSH】【vbscript】httpアクセスする(msxml)

このエントリーをはてなブックマークに追加
Bookmark this on Livedoor Clip

vbscriptでmsxmlを利用してhttpアクセスする例です。
第一引数はアクセスするURL、第二引数はアクセスした内容を保存するファイル名です。

「Set OBJ_Http = WScript.CreateObject(“MSXML2.ServerXMLHTTP”)」の部分は、
「Set OBJ_Http = WScript.CreateObject(“Microsoft.XMLHTTP”)」としてもアクセス出来ます。

違いについてはMicrosoftのサポート情報を参照して下さい。
http://support.microsoft.com/kb/290761/ja

 


Option Explicit

  Dim OBJ_Args

  Set OBJ_Args = WScript.Arguments

  If OBJ_Args.Count <> 2 Then

    WScript.Echo "Usage: httpget URL Path"
    WScript.Quit 1

  Else

    HttpGet OBJ_Args(0),OBJ_Args(1)

  End If

Sub HttpGet(ByVal STR_URL, ByVal STR_Path)

  Const adTypeBinary = 1 'Binary
  Const adTypeText   = 2 'Text

  Const adSaveCreateNotExist  = 1
  Const adSaveCreateOverWrite = 2

  Dim OBJ_Http
  Dim OBJ_ADO

  Set OBJ_Http = WScript.CreateObject("MSXML2.ServerXMLHTTP")

  Call OBJ_Http.Open("GET", STR_URL, False)

  If Err.Number <> 0 Then

      WScript.Echo "エラー:" & Err.Description
      WScript.Quit 1

  End If

  OBJ_Http.Send

  If Err.Number <> 0 Then

    WScript.Echo "エラー:" & Err.Description
    WScript.Quit 1

  End If

  If OBJ_Http.status <> 200 Then

    WScript.Echo "Return Coad:" & OBJ_Http.status
    WScript.Quit 1

  End If

  Set OBJ_ADO = WScript.CreateObject("ADODB.Stream")

  OBJ_ADO.Type = adTypeBinary
  OBJ_ADO.Open
  OBJ_ADO.Position = 0

  OBJ_ADO.Write OBJ_Http.responseBody
  OBJ_ADO.SaveToFile STR_Path, adSaveCreateNotExist
  OBJ_ADO.Close

  Set OBJ_Http = Nothing
  Set OBJ_ADO  = Nothing

End Sub
VN:F [1.9.17_1161]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.17_1161]
Rating: 0 (from 0 votes)
This entry was posted in Windows, WSH.

コメントを残す

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

1 / 11