Yup, it can be done!!!
Code: Select all
; Thanks to spot for giving me the hint about this one
;
; Tested on a SQUID Proxy/Firewall server
InitNetwork()
ConnectionID = OpenNetworkConnection("xxx.xxx.xxx.xxx", xx) ; Proxy server and proxy port
If ConnectionID
usr$="xxxxx" ; username
pw$="xxxxx" ;password
conc$=usr$+":"+pw$
OutputBuffer = AllocateMemory(100)
Base64Encoder(@conc$,Len(conc$),OutputBuffer,OutputBuffer*2)
enc$=PeekS(OutputBuffer)
Debug conc$
Debug "memory adress: "+Str(OutputBuffer)
Debug enc$
com$="GET http://www.purebasic.com/index.php3 HTTP/1.1"+Chr(13)+Chr(10)
com$+"Accept: */*"+Chr(13)+Chr(10)
com$+"Accept: text/html"+Chr(13)+Chr(10)
com$+"Host: "+host$+Chr(13)+Chr(10)
com$+"User-Agent: purebasic/3.81"+Chr(13)+Chr(10)
;This line gives you permission to proxy access
com$+"Proxy-Authorization: Basic "+enc$+Chr(13)+Chr(10)
com$+Chr(13)+Chr(10)
Res = SendNetworkData(ConnectionID,@com$,Len(com$))
Repeat
Delay(10)
result = NetworkClientEvent(ConnectionID)
Select result
Case 2
Content$ = Space(14500)
ReceiveNetworkData(ConnectionID,@Content$,14500)
Ok = 1
MessageRequester("Done!","Your Data" + Chr(13) + Chr(10) + Trim(Content$),0)
CloseNetworkConnection(ConnectionID)
EndSelect
Until Ok = 1
EndIf