build-support/http-get.vbs: handle exceptions when making http request and writing file, set appropriate errorlevel
parent
3993dace22
commit
492e07723c
|
@ -1,3 +1,5 @@
|
||||||
|
on error resume next
|
||||||
|
|
||||||
if WScript.Arguments.Count < 2 then
|
if WScript.Arguments.Count < 2 then
|
||||||
WScript.Echo "usage: http-get.vbs source-url dest-file"
|
WScript.Echo "usage: http-get.vbs source-url dest-file"
|
||||||
WScript.Quit 1
|
WScript.Quit 1
|
||||||
|
@ -7,23 +9,33 @@ else
|
||||||
|
|
||||||
dim http, source_data
|
dim http, source_data
|
||||||
set http = CreateObject("WinHttp.WinHttpRequest.5.1")
|
set http = CreateObject("WinHttp.WinHttpRequest.5.1")
|
||||||
|
|
||||||
|
Err.Clear
|
||||||
http.Open "GET", source_url, false
|
http.Open "GET", source_url, false
|
||||||
http.Send
|
http.Send
|
||||||
|
|
||||||
|
if Err.Number = 0 then
|
||||||
if http.Status = 200 then
|
if http.Status = 200 then
|
||||||
dim dest_stream
|
dim dest_stream
|
||||||
set dest_stream = CreateObject("ADODB.Stream")
|
set dest_stream = CreateObject("ADODB.Stream")
|
||||||
|
|
||||||
|
Err.Clear
|
||||||
dest_stream.Type = 1 ' adTypeBinary
|
dest_stream.Type = 1 ' adTypeBinary
|
||||||
dest_stream.Open
|
dest_stream.Open
|
||||||
dest_stream.Write http.ResponseBody
|
dest_stream.Write http.ResponseBody
|
||||||
dest_stream.SaveToFile dest_filename, 2 ' adSaveCreateOverWrite
|
dest_stream.SaveToFile dest_filename, 2 ' adSaveCreateOverWrite
|
||||||
|
if Err.Number <> 0 then
|
||||||
set dest_stream = nothing
|
WScript.Echo "Error " + CStr(Err.Number) + " when writing " + dest_filename + ":"
|
||||||
|
WScript.Echo Err.Description
|
||||||
|
WScript.Quit 1
|
||||||
|
end if
|
||||||
else
|
else
|
||||||
WScript.Echo CStr(http.Status) + " " + http.StatusText + " when fetching " + source_url
|
WScript.Echo CStr(http.Status) + " " + http.StatusText + " when fetching " + source_url
|
||||||
WScript.Quit 1
|
WScript.Quit 1
|
||||||
end if
|
end if
|
||||||
|
else
|
||||||
set http = nothing
|
WScript.Echo "Error " + CStr(Err.Number) + " when fetching " + source_url + ":"
|
||||||
|
WScript.Echo Err.Description
|
||||||
|
WScript.Quit 1
|
||||||
|
end if
|
||||||
end if
|
end if
|
||||||
|
|
Loading…
Reference in New Issue