2010年11月20日土曜日

VBScript:HTTPファイルアップロードする

Option explicit
dim xmlhttp
dim strm
dim strUrl
dim strFile
dim strTgtFile

'ファイル送信用のスクリプト
strUrl = "http://192.168.1.210/put.php"
'送信ターゲット
strFile = "c:¥Windows¥System.ini" '送信ファイル名
'//strTgtFile = "aa/あいう.dat" '保存ファイル名
strTgtFile = "upload.dat"

set xmlhttp = CreateObject("MSXML2.ServerXMLHTTP")
'これが一番いいと思われるが全ての環境で使えるわけではない setTimeOutが可能
'set xmlhttp = CreateObject("MSXML2.XMLHTTP")
'set xmlhttp = CreateObject("Microsoft.XMLHTTP")
'「msxml3.dll: エラーを特定できません」エラーとなる場合 Streamに対する制限
set strm = CreateObject("ADODB.Stream")
strm.Mode = 3 'for LoadFromFile
strm.Type = 1 'Binary
strm.Open
strm.LoadFromFile( strFile )
'このオプションは MSXML2.ServerXMLHTTPのみ
xmlhttp.setTimeouts 180 * 1000 , 180*1000 , 180*1000 , 180*1000

xmlhttp.open "PUT",strUrl 'PUTメソッドはダメな時はPOST
'xmlhttp.open "POST",strUrl
xmlhttp.setRequestHeader "cmd","put"
xmlhttp.setRequestHeader "hirake","goma"
xmlhttp.setRequestHeader "fname", strTgtFile

xmlhttp.send strm.read(-1)

strm.Close
'HTTPステータスを表示
WScript.Echo xmlhttp.status
'サーバからの応答を表示
WScript.Echo xmlhttp.responseText

set strm = Nothing
set xmlhttp = Nothing


http://blog.jojo.jp/?eid=1331836

0 件のコメント: