作成 2011.04.23
更新 2011.04.24
VBScript で HTTP POST を送信する
コード
postData は Byte 配列、ヘッダーに "Content-Type: application/x-www-form-urlencoded" が必須です。
Option Explicit
Dim objIE, strRet, Stream, postData, strHeaders
Set objIE = CreateObject("InternetExplorer.Application")

' ポストデータ
' 複数の値を送信するときは "&" でつなぐ
Set Stream = CreateObject("ADODB.Stream")
Stream.Open
Stream.Charset = "UTF-8"
Stream.WriteText "dummy=1" ' 1つ目のキーはゴミデータが入るのでダミーを挿入
Stream.WriteText "&a=日本語テスト&b=テスト2"
Stream.Position = 0
Stream.Type = 1
postData = Stream.Read
Stream.Close

' POST を送るための必須ヘッダー
strHeaders = "Content-Type: application/x-www-form-urlencoded" & vbCrLf

' 送信
' 2番目の Null を "_self" に変更するとブラウザで表示される
objIE.Navigate "http://server/test.aspx?ct=0", Null, Null, postData, strHeaders
Do While objIE.Busy Or objIE.ReadyState <> 4
  WScript.Sleep 100
Loop
strRet = objIE.Document.body.innerText
objIE.Quit

' 実行結果
WScript.Echo strRet
参考URL
タグ: VBScript

©2004-2017 UPKEN IPv4