Convert from AutoIt (get chrome download url)

Just starting out? Need help? Post your questions and find answers here.
forumuser
User
User
Posts: 98
Joined: Wed Apr 18, 2018 8:24 am

Convert from AutoIt (get chrome download url)

Post by forumuser »

The necessary url will be inside the $body variable afterwards...

Is there an easy way to convert this to PB?

Code: Select all

	; URL for stable build
	$data = '<?xml version="1.0" encoding="UTF-8"?><o:gupdate xmlns:o="http://www.google.com/update2/request" protocol="2.0" version="1.2.183.13" ismachine="0" machineid="{11111111-1111-1111-1111-111111111111}" userid="{11111111-1111-1111-1111-111111111111}" requestid="{11111111-1111-1111-1111-111111111111}"><o:os platform="win" version="6.1" sp="Service Pack 1"/><o:app appid="{8A69D345-D564-463C-AFF1-A69D9E530F96}" version="" lang="de" brand="" client="" iid="{11111111-1111-1111-1111-111111111111}"><o:updatecheck/></o:app></o:gupdate>'

	$hw_open = _WinHttpOpen()
	$hw_connect = _WinHttpConnect($hw_open, "tools.google.com")
	$hw_openrequest = _WinHttpOpenRequest($hw_connect, "POST", "/service/update2", "HTTP/1.1", "http://tools.google.com/")
	_WinHttpSendRequest($hw_openrequest, "Content-Type: application/x-www-form-urlencoded" & @CRLF, $data)
	_WinHttpReceiveResponse($hw_openrequest)

	Local $body = ""
	Do
		$body &= _WinHttpReadData($hw_openrequest)
	Until @error
infratec
Always Here
Always Here
Posts: 6883
Joined: Sun Sep 07, 2008 12:45 pm
Location: Germany

Re: Convert from AutoIt (get chrome download url)

Post by infratec »

You had to search for 'http post'

Code: Select all

InitNetwork()

Post$ = ~"<?xml version=\"1.0\" encoding=\"UTF-8\"?><o:gupdate xmlns:o=\"http://www.google.com/update2/request\" protocol=\"2.0\" version=\"1.2.183.13\" ismachine=\"0\" machineid=\"{11111111-1111-1111-1111-111111111111}\" userid=\"{11111111-1111-1111-1111-111111111111}\" requestid=\"{11111111-1111-1111-1111-111111111111}\"><o:os platform=\"win\" version=\"6.1\" sp=\"Service Pack 1\"/><o:app appid=\"{8A69D345-D564-463C-AFF1-A69D9E530F96}\" version=\"\" lang=\"de\" brand=\"\" client=\"\" iid=\"{11111111-1111-1111-1111-111111111111}\"><o:updatecheck/></o:app></o:gupdate>"

Con = OpenNetworkConnection("tools.google.com", 80)
If Con
  Header$ = "POST /service/update2 HTTP 1.1" + #CRLF$
  Header$ + "Host: tools.google.com" + #CRLF$
  Header$ + "Content-Length: " + Str(StringByteLength(Post$, #PB_UTF8)) + #CRLF$
  Header$ + "Content-Type: application/x-www-form-urlencoded" + #CRLF$
  Header$ + #CRLF$
  
  If SendNetworkString(Con, Header$ + Post$, #PB_UTF8)
    
    *Buffer = AllocateMemory(16384)
    If *Buffer
      
      Timeout = 300
      Repeat
        Select NetworkClientEvent(Con)
          Case #PB_NetworkEvent_Data
            Debug "Data"
            Recv = ReceiveNetworkData(Con, *Buffer, MemorySize(*Buffer))
            If Recv
              Debug PeekS(*Buffer, Recv, #PB_UTF8)
              Break
            EndIf
          Case #PB_NetworkEvent_Disconnect
            Timeout = 0
          Case #PB_NetworkEvent_None
            Delay(10)
            Timeout - 1
        EndSelect
      Until Timeout = 0
      FreeMemory(*Buffer)
    EndIf
    
  EndIf
  CloseNetworkConnection(Con)
EndIf
If you need https you have to use the inbuild curl library.

Bernd
forumuser
User
User
Posts: 98
Joined: Wed Apr 18, 2018 8:24 am

Re: Convert from AutoIt (get chrome download url)

Post by forumuser »

Thanks a lot, Bernd!

Works fine, I can extract the necessary entries from the xml part that is returned :mrgreen:
Post Reply