Difference between revisions of "Template:Data export/vbs"
From Awesome Baozam
(Created page with "<pre> ' This Sub downloads the FILE specified in myUrl to the file specified in mySaveTo. Const myDevice = "<DEVICE>", myUser = "<USR>", myPwd = "<PASSWORD>" Const myHost = "...") |
|||
| Line 2: | Line 2: | ||
' This Sub downloads the FILE specified in myUrl to the file specified in mySaveTo. | ' This Sub downloads the FILE specified in myUrl to the file specified in mySaveTo. | ||
| − | Const myDevice = "< | + | Const myDevice = "<HOSTID>", myUser = "<USR>", myPwd = "<PASSWORD>" |
Const myHost = "baozam.net", mySaveTo = "D:\baozam.csv" | Const myHost = "baozam.net", mySaveTo = "D:\baozam.csv" | ||
Const myPeriod = "259200", mySTime = "0", myStep = "g1d" | Const myPeriod = "259200", mySTime = "0", myStep = "g1d" | ||
Revision as of 13:13, 23 January 2017
' This Sub downloads the FILE specified in myUrl to the file specified in mySaveTo.
Const myDevice = "<HOSTID>", myUser = "<USR>", myPwd = "<PASSWORD>"
Const myHost = "baozam.net", mySaveTo = "D:\baozam.csv"
Const myPeriod = "259200", mySTime = "0", myStep = "g1d"
HTTPDownload "https://" + myHost + "/index.php?action=csv&hosts=" + myDevice + "&period=" + myPeriod + "&stime=" + mySTime + "&step=" + myStep
Sub HTTPDownload( myUrl )
' Based on a script found on the Thai Visa forum
' http://www.thaivisa.com/forum/index.php?showtopic=21832
' by Rob van der Woude
' http://www.robvanderwoude.com/vbstech_internet_download.php
' Standard housekeeping
Dim i, objFile, objFSO, objHTTP
Const ForReading = 1, ForWriting = 2, ForAppending = 8
' Create a File System Object
Set objFSO = CreateObject( "Scripting.FileSystemObject" )
' Create or open the target file
Set objFile = objFSO.OpenTextFile( mySaveTo, ForWriting, True )
' Create an HTTP object
Set objHTTP = CreateObject( "WinHttp.WinHttpRequest.5.1" )
' Download the specified URL
objHTTP.Open "POST", myUrl, False
'objHTTP.Option(4) = &H3300 'WinHttpRequestOption_SslErrorIgnoreFlags = 0x3300
objHTTP.setRequestHeader "myHost", myHost
objHTTP.SetRequestHeader "Content-Type", "application/x-www-form-urlencoded"
objHTTP.Send "name=" + myUser + "&password=" + myPwd
' Write the downloaded byte stream to the target file
For i = 1 To LenB( objHTTP.ResponseBody )
objFile.Write Chr( AscB( MidB( objHTTP.ResponseBody, i, 1 ) ) )
Next
' Close the target file
objFile.Close( )
End Sub