42 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
on error resume next
 | 
						|
 | 
						|
if WScript.Arguments.Count < 2 then
 | 
						|
    WScript.Echo "usage: http-get.vbs source-url dest-file"
 | 
						|
    WScript.Quit 1
 | 
						|
else
 | 
						|
    source_url = WScript.Arguments.Item(0)
 | 
						|
    dest_filename = WScript.Arguments.Item(1)
 | 
						|
 | 
						|
    dim http, source_data
 | 
						|
    set http = CreateObject("WinHttp.WinHttpRequest.5.1")
 | 
						|
 | 
						|
    Err.Clear
 | 
						|
    http.Open "GET", source_url, false
 | 
						|
    http.Send
 | 
						|
 | 
						|
    if Err.Number = 0 then
 | 
						|
        if http.Status = 200 then
 | 
						|
            dim dest_stream
 | 
						|
            set dest_stream = CreateObject("ADODB.Stream")
 | 
						|
 | 
						|
            Err.Clear
 | 
						|
            dest_stream.Type = 1 ' adTypeBinary
 | 
						|
            dest_stream.Open
 | 
						|
            dest_stream.Write http.ResponseBody
 | 
						|
            dest_stream.SaveToFile dest_filename, 2 ' adSaveCreateOverWrite
 | 
						|
            if Err.Number <> 0 then
 | 
						|
                WScript.Echo "Error " + CStr(Err.Number) + " when writing " + dest_filename + ":"
 | 
						|
                WScript.Echo Err.Description
 | 
						|
                WScript.Quit 1
 | 
						|
            end if
 | 
						|
        else
 | 
						|
            WScript.Echo CStr(http.Status) + " " + http.StatusText + " when fetching " + source_url
 | 
						|
            WScript.Quit 1
 | 
						|
        end if
 | 
						|
    else
 | 
						|
        WScript.Echo "Error " + CStr(Err.Number) + " when fetching " + source_url + ":"
 | 
						|
        WScript.Echo Err.Description
 | 
						|
        WScript.Quit 1
 | 
						|
    end if
 | 
						|
end if
 |