diff --git a/source/ide/ide_methods.bas b/source/ide/ide_methods.bas index 087955b4e..d01fbac3b 100644 --- a/source/ide/ide_methods.bas +++ b/source/ide/ide_methods.bas @@ -19815,54 +19815,54 @@ FUNCTION GetBytes$(__value$, numberOfBytes&) getBytesPosition& = getBytesPosition& + numberOfBytes& END FUNCTION -FUNCTION Download$ (url$, outputVar$, lookFor$, timelimit) STATIC - 'as seen on http://www.qb64.org/wiki/Downloading_Files - 'adapted for use in the IDE +'FUNCTION Download$ (url$, outputVar$, lookFor$, timelimit) STATIC +' 'as seen on http://www.qb64.org/wiki/Downloading_Files +' 'adapted for use in the IDE - DIM theClient AS LONG, l AS LONG - DIM prevUrl$, prevUrl2$, url2$, x AS LONG - DIM e$, url3$, x$, t!, a2$, a$, i AS LONG - DIM i2 AS LONG, i3 AS LONG, d$, fh AS LONG +' DIM theClient AS LONG, l AS LONG +' DIM prevUrl$, prevUrl2$, url2$, x AS LONG +' DIM e$, url3$, x$, t!, a2$, a$, i AS LONG +' DIM i2 AS LONG, i3 AS LONG, d$, fh AS LONG - IF url$ <> prevUrl$ OR url$ = "" THEN - prevUrl$ = url$ - IF url$ = "" THEN - prevUrl2$ = "" - IF theClient THEN CLOSE theClient: theClient = 0 - EXIT FUNCTION - END IF - url2$ = url$ - x = INSTR(url2$, "/") - IF x THEN url2$ = LEFT$(url$, x - 1) - IF url2$ <> prevUrl2$ THEN - prevUrl2$ = url2$ - IF theClient THEN CLOSE theClient: theClient = 0 - theClient = _OPENCLIENT("TCP/IP:80:" + url2$) - IF theClient = 0 THEN Download = MKI$(2): prevUrl$ = "": EXIT FUNCTION - END IF - e$ = CHR$(13) + CHR$(10) ' end of line characters - url3$ = RIGHT$(url$, LEN(url$) - x + 1) - x$ = "GET " + url3$ + " HTTP/1.1" + e$ - x$ = x$ + "Host: " + url2$ + e$ + e$ - PUT #theClient, , x$ - t! = TIMER ' start time - END IF +' IF url$ <> prevUrl$ OR url$ = "" THEN +' prevUrl$ = url$ +' IF url$ = "" THEN +' prevUrl2$ = "" +' IF theClient THEN CLOSE theClient: theClient = 0 +' EXIT FUNCTION +' END IF +' url2$ = url$ +' x = INSTR(url2$, "/") +' IF x THEN url2$ = LEFT$(url$, x - 1) +' IF url2$ <> prevUrl2$ THEN +' prevUrl2$ = url2$ +' IF theClient THEN CLOSE theClient: theClient = 0 +' theClient = _OPENCLIENT("TCP/IP:80:" + url2$) +' IF theClient = 0 THEN Download = MKI$(2): prevUrl$ = "": EXIT FUNCTION +' END IF +' e$ = CHR$(13) + CHR$(10) ' end of line characters +' url3$ = RIGHT$(url$, LEN(url$) - x + 1) +' x$ = "GET " + url3$ + " HTTP/1.1" + e$ +' x$ = x$ + "Host: " + url2$ + e$ + e$ +' PUT #theClient, , x$ +' t! = TIMER ' start time +' END IF - GET #theClient, , a2$ - a$ = a$ + a2$ - i = INSTR(a$, lookFor$) - IF i THEN - outputVar$ = a$ - Download = MKI$(1) + MKL$(i) 'indicates download was successful - prevUrl$ = "" - prevUrl2$ = "" - a$ = "" - CLOSE theClient - theClient = 0 - EXIT FUNCTION - END IF ' i - IF TIMER > t! + timelimit THEN CLOSE theClient: theClient = 0: Download = MKI$(3): prevUrl$ = "": EXIT FUNCTION - Download = MKI$(0) 'still working -END FUNCTION +' GET #theClient, , a2$ +' a$ = a$ + a2$ +' i = INSTR(a$, lookFor$) +' IF i THEN +' outputVar$ = a$ +' Download = MKI$(1) + MKL$(i) 'indicates download was successful +' prevUrl$ = "" +' prevUrl2$ = "" +' a$ = "" +' CLOSE theClient +' theClient = 0 +' EXIT FUNCTION +' END IF ' i +' IF TIMER > t! + timelimit THEN CLOSE theClient: theClient = 0: Download = MKI$(3): prevUrl$ = "": EXIT FUNCTION +' Download = MKI$(0) 'still working +'END FUNCTION