"Diary" インターネットさんへの恩返し

いつもソースコードコピペばかりなので,みなさまへ少しばかりの恩返しを

Windows のVBSスクリプトを使用したHTTPファイルアップロード方法



スポンサーリンク

Linuxと違って、Web系のDOSコマンドがほとんどないのがWindowsスクリプトを作る上での難点ですが、vbsやpowershellを使えばwebページのスクレイピングとか色々できるようです。

たまたまvbsでhttpでファイルアップロードができないか調べてたらこんな記事が。

https-upload.vbs - tests HTTPS file upload with Microsoft VBS


以下のような感じで、hTTPリクエスト処理(MSXML2.XMLHTTP.3.0)をするオブジェクトを作って、httpのputでアップロードする仕組み。

 Const UploadDest = "https://mywebdavserver.com/uploadurl"
 Const UploadFile = "localpath-and-file"
 Const UploadUser = "username"
 Const UploadPass = "password"
 Const UploadType = "binary"

  dim xmlhttp
  set xmlhttp=createobject("MSXML2.XMLHTTP.3.0")
  strURL = UploadDest & "/" & UploadFile
  msgbox "Upload-URL: " & strURL
  xmlhttp.Open "PUT", strURL, false, UploadUser, UploadPass
  xmlhttp.Send sData
  Wscript.Echo "Upload-Status: " & xmlhttp.statusText
  set xmlhttp=Nothing

【他にもご参考】
HTTPのPOST処理のサンプル - VBScript - 狸おやじのLinux備忘録
MSXML2.XMLHTTP.3.0でHTTPサーバからのヘッダを取得するには #VBScript: misc
VBSでHTTPリクエストを投げて、レスポンスを受け取る - 猫にWeb