Difference between revisions of "Data export"
From Awesome Baozam
(→VBS script) |
(→VBS script) |
||
| Line 31: | Line 31: | ||
== VBS script == | == VBS script == | ||
<pre> | <pre> | ||
| − | + | ' This Sub downloads the FILE specified in myUrl to the file specified in mySaveTo. | |
| − | + | ||
| − | + | Const myHost = "dev.baozam.net", myDevice = "10234", mySaveTo = "D:\baozam.csv" | |
| + | Const myPeriod = "259200", mySTime = "0", myStep = "g1d" | ||
| + | Const myUser = "<USR>", myPwd = "<PASSWORD>" | ||
| + | |||
| + | 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 | ' Based on a script found on the Thai Visa forum | ||
| Line 49: | Line 53: | ||
' Create or open the target file | ' Create or open the target file | ||
| − | Set objFile = objFSO.OpenTextFile( | + | Set objFile = objFSO.OpenTextFile( mySaveTo, ForWriting, True ) |
' Create an HTTP object | ' Create an HTTP object | ||
| Line 55: | Line 59: | ||
' Download the specified URL | ' Download the specified URL | ||
| − | objHTTP.Open "POST", | + | objHTTP.Open "POST", myUrl, False |
| − | objHTTP.setRequestHeader " | + | 'objHTTP.Option(4) = &H3300 'WinHttpRequestOption_SslErrorIgnoreFlags = 0x3300 |
| − | + | objHTTP.setRequestHeader "myHost", myHost | |
| − | objHTTP.Send | + | objHTTP.SetRequestHeader "Content-Type", "application/x-www-form-urlencoded" |
| + | objHTTP.Send "name=" + myUser + "&password=" + myPwd | ||
' Write the downloaded byte stream to the target file | ' Write the downloaded byte stream to the target file | ||
Revision as of 18:54, 14 August 2016
Для получения данных по запросу вы можете использовать УРЛ
https://baozam.net/index.php?action=csv&hosts=<HOSTID>&period=<PERIOD_IN_SECONDS>&stime=<START_UNIXTIME>&step=<STEP>
для аутентификации необходимо передать логин и пароль в (только) POST.
STIME - unixtime с которого начинается период. Если = 0, то начало периода будет отсчитано от текущего времени.
STEP - целое число секунд. или предопределенные значения
- g1h - почасово
- g1d - по дням
- g1w - по неделям
- g1m - по месяцам
CURL пример
HOST=baozam.net
DEVICE=
PERIOD=$(( 7 * 24 * 3600 ))
STIME=0
STEP=g1h
USER=
PWD=
curl "https://$HOST/index.php?action=csv&hosts=$DEVICE&period=$PERIOD&stime=$STIME&step=$STEP" \
-H "Host: $HOST" --compressed \
-d "name=$USER" -d "password=$PWD"
VBS script
' This Sub downloads the FILE specified in myUrl to the file specified in mySaveTo.
Const myHost = "dev.baozam.net", myDevice = "10234", mySaveTo = "D:\baozam.csv"
Const myPeriod = "259200", mySTime = "0", myStep = "g1d"
Const myUser = "<USR>", myPwd = "<PASSWORD>"
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
OpenSSL
openssl s_client -connect www.somesite:443 ...