#include "WinHTTP.au3"
Global $hw_open = _WinHttpOpen
()
If @error Then
MsgBox(48, "Error", "Error initializing the usage of WinHTTP functions.")
Exit
EndIf
Global $hw_connect = _WinHttpConnect
($hw_open, "www.autoit.de")
If @error Then
MsgBox(48, "Error", "Error specifying the initial target server of an HTTP request.")
_WinHttpCloseHandle
($hw_open)
Exit
EndIf
Global $h_openRequest = _WinHttpOpenRequest
($hw_connect)
If @error Then
MsgBox(48, "Error", "Error creating an HTTP request handle.")
_WinHttpCloseHandle
($hw_connect)
_WinHttpCloseHandle
($hw_open)
Exit
EndIf
_WinHttpSendRequest
($h_openRequest)
If @error Then
MsgBox(48, "Error", "Error sending the specified request.")
_WinHttpCloseHandle
($hw_connect)
_WinHttpCloseHandle
($hw_open)
Exit
EndIf
_WinHttpReceiveResponse
($h_openRequest)
If _WinHttpQueryDataAvailable
($h_openRequest) Then
Global $header = _WinHttpQueryHeaders
($h_openRequest)
ConsoleWrite($header & @CRLF & @CRLF)
Global $chunk, $data, $extended
While 1
$chunk = X
_WinHttpReadData
($h_openRequest, 2)
If Not @extended Then ExitLoop
$data = _WinHttpBinaryConcat
($data, $chunk)
WEnd
ConsoleWrite(BinaryToString($data, 4) & @CRLF)
Else
MsgBox(48, "Error", "Site is experiencing problems.")
EndIf
_WinHttpCloseHandle
($h_openRequest)
_WinHttpCloseHandle
($hw_connect)
_WinHttpCloseHandle
($hw_open)
; #FUNCTION# ;===============================================================================
;
; Name...........: _WinHttpReadData
; Description ...: Reads data from a handle opened by the _WinHttpOpenRequest() function.
; Syntax.........: _WinHttpReadData($hRequest [, iMode [, $iNumberOfBytesToRead]])
; Parameters ....: $hRequest - Valid handle returned from a previous call to _WinHttpOpenRequest().
; $iMode - Integer representing reading mode. Default is 0 (charset is taken to be ANSI related).
; $iNumberOfBytesToRead - Integer value that contains the number of bytes to read. Default is 8192 bytes.
; Return values .: Success - Returns data read.
; - Sets @error to 0
; Failure - Returns empty string and sets @error:
; |1 - DllCall failed.
; Author ........: trancexx, ProgAndy
; Modified.......:
; Remarks .......: iMode can have these values:
; |0 - ANSI
; |1 - UTF8
; |2 - Binary
; Related .......:
; Link ..........; <a href='http://msdn.microsoft.com/en-us/library/aa384104(VS.85' class='bbc_url' title='External link' rel='nofollow external'>http://msdn.microsoft.com/en-us/library/aa384104(VS.85</a>).aspx
; Example .......; Yes
;
;==========================================================================================
Func X
_WinHttpReadData
($hRequest, $iMode = 0, $iNumberOfBytesToRead = 8192)
Local $lpBuffer
Switch $iMode
Case 0
$lpBuffer = DllStructCreate("char[" & $iNumberOfBytesToRead & "]")
Case 1, 2
$lpBuffer = DllStructCreate("byte[" & $iNumberOfBytesToRead & "]")
EndSwitch
Local $a_iCall = DllCall("Winhttp.dll", "int", "WinHttpReadData", _
"hwnd", $hRequest, _
"ptr", DllStructGetPtr($lpBuffer), _
"ulong", $iNumberOfBytesToRead, _
"dword*", 0)
If @error Or Not $a_iCall[0] Then
SetError(1, 0, "")
EndIf
Switch $iMode
Case 0
Return SetError(0, $a_iCall[4], StringLeft(DllStructGetData($lpBuffer, 1), $a_iCall[4]))
Case 1
Return SetError(0, $a_iCall[4], BinaryToString(BinaryMid(DllStructGetData($lpBuffer, 1), 1, $a_iCall[4]), 4))
Case 2
Return SetError(0, $a_iCall[4], BinaryMid(DllStructGetData($lpBuffer, 1), 1, $a_iCall[4]))
EndSwitch
EndFunc
; #FUNCTION# ;===============================================================================
;
; Name...........: _WinHttpBinaryConcat
; Description ...: Concatenates two binary data returned by _WinHttpReadData() in binary mode.
; Syntax.........: _WinHttpBinaryConcat(ByRef $bBinary1, ByRef $bBinary2)
; Parameters ....: $bBinary1 - Binary data that is to be concatenated.
; $bBinary2 - Binary data to concat.
; Return values .: Success - Returns concatenated binary data.
; - Sets @error to 0
; Failure - Returns 0 and sets @error:
; |1 - Invalid input.
; Author ........: ProgAndy
; Modified.......: trancexx
; Remarks .......:
; Related .......:
; Link ..........;
; Example .......; Yes
;
;==========================================================================================
Func _WinHttpBinaryConcat
(ByRef $bBinary1, ByRef $bBinary2)
Switch IsBinary($bBinary1) & IsBinary($bBinary2)
Case 0
Return SetError(1, 0, 0)
Case 1
Return SetError(0, 0, $bBinary2)
Case 10
Return SetError(0, 0, $bBinary1)
EndSwitch
Local $iLen1 = BinaryLen($bBinary1)
Local $iLen2 = BinaryLen($bBinary2)
Local $struct = DllStructCreate("byte[" & $iLen1 & "];byte[" & $iLen2 & "]")
DllStructSetData($struct, 1, $bBinary1)
DllStructSetData($struct, 2, $bBinary2)
Return DllStructGetData(DllStructCreate("byte[" & $iLen1 + $iLen2 & "]", DllStructGetPtr($struct)), 1)
EndFunc ;==>_WinHttpBinaryConcatoÝ÷ Ù8Z¶+(¥éâaÊh²ÈXÉ«¢+Ø¥¹±ÕÅÕ½Ðí]¥¹!QQ@¹
ÔÌÅÕ½Ðì(()±½
°ÀÌØí¡Ý}½Á¸ô}]¥¹!ÑÑÁ=Á¸ ¤)%ÉɽÈQ¡¸(%5Í ½à Ðà°ÅÕ½ÐíÉɽÈÅÕ½Ðì°ÅÕ½ÐíÉɽȥ¹¥Ñ¥
±¥é¥¹Ñ¡ÕÍ
½]¥¹!QQ@չѥ½¹Ì¸ÅÕ½Ðì¤(%á¥Ð)¹%()±½
°ÀÌØí¡Ý}½¹¹Ðô}]¥¹!ÑÑÁ
½¹¹Ð ÀÌØí¡Ý
}½Á¸°ÅÕ½ÐíÝÝܹ
Õѽ¥Ð¹ÅÕ½Ðì¤
)%ÉɽÈQ¡¸
(%
5Í ½à Ðà°ÅÕ½ÐíÉɽÈÅÕ½Ðì°ÅÕ½ÐíÉɽÈÍÁ¥å¥¹Ñ¡¥¹¥Ñ¥
°Ñ
ÉÐÍÉÙȽ
¸!QQ@ÉÅÕÍиÅÕ½Ðì¤
(%
}]¥¹!ÑÑÁ
±½Í!
¹± ÀÌØí¡Ý
}½Á¸¤
(%á¥Ð
)¹%
()±½
°ÀÌØí¡
}½Á¹IÅÕÍÐô
}]¥¹!ÑÑÁ
=Á¹IÅÕÍÐ ÀÌØí¡Ý
}½¹¹Ð¤
)%ÉɽÈQ¡¸
(%
5Í ½à Ðà°ÅÕ½ÐíÉɽÈÅÕ½Ðì°ÅÕ½ÐíÉɽÈÉ
Ñ¥¹
¸!QQ@ÉÅÕÍС
¹±¸ÅÕ½Ðì¤
(%
}]¥¹!ÑÑÁ
±½Í!
¹± ÀÌØí¡Ý
}½¹¹Ð¤
(%
}]¥¹!ÑÑÁ
±½Í!
¹± ÀÌØí¡Ý
}½Á¸¤
(%á¥Ð
)¹%
()}]¥¹!ÑÑÁM¹IÅÕÍÐ ÀÌØí¡
}½Á¹IÅÕÍФ
)%ÉɽÈQ¡¸
(%
5Í ½à Ðà°ÅÕ½ÐíÉɽÈÅÕ½Ðì°ÅÕ½ÐíÉɽÈ͹¥¹Ñ¡ÍÁ¥¥ÉÅÕÍиÅÕ½Ðì¤
(%
}]¥¹!ÑÑÁ
±½Í!
¹± ÀÌØí¡Ý
}½¹¹Ð¤
(%
}]¥¹!ÑÑÁ
±½Í!
¹± ÀÌØí¡Ý
}½Á¸¤
(%á¥Ð
)¹%
()}]¥¹!ÑÑÁI¥ÙIÍÁ½¹Í ÀÌØí¡
}½Á¹IÅÕÍФ
()%
}]¥¹!ÑÑÁEÕÉå
Ñ
Ù
¥±
± ÀÌØí¡
}½Á¹IÅÕÍФQ¡¸
(%±½
°ÀÌØí¡
Èô
}]¥¹!ÑÑÁEÕÉå!
ÉÌ ÀÌØí¡
}½Á¹IÅÕÍФ
(%
½¹Í½±
]É¥Ñ ÀÌØí¡
È
µÀì
I1
µÀì
I1¤
(%±½
°ÀÌØí¡Õ¹¬°ÀÌØí
ѰÀÌØíáѹ
(%
]¡¥±Ä
($$ÀÌØí¡Õ¹¬ôa
}]¥¹!ÑÑÁI
Ñ ÀÌØí¡
}½Á¹IÅÕÍаĤ
($%%
9½ÐáѹQ¡¸á¥Ñ
1½½À
($$ÀÌØí
Ñ
µÀìôÀÌØí¡Õ¹¬
$(%
]¹
(%
½¹Í½±
]É¥Ñ ÀÌØí
Ñ
µÀì
I1¤
)±Í
(%
5Í ½à Ðà°ÅÕ½ÐíÉɽÈÅÕ½Ðì°ÅÕ½ÐíM¥Ñ¥ÌáÁÉ¥¹¥¹Áɽ±µÌ¸ÅÕ½Ðì¤
)¹%
()}]¥¹!ÑÑÁ
±½Í!
¹± ÀÌØí¡
}½Á¹IÅÕÍФ
)}]¥¹!ÑÑÁ
±½Í!
¹± ÀÌØí¡Ý
}½¹¹Ð¤
)}]¥¹!ÑÑÁ
±½Í!
¹± ÀÌØí¡Ý
}½Á¸¤
(((ìU9
Q%
=8ìôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôô
(ì
(ì
9
µ¸¸¸¸¸¸¸¸¸¸¸è
}]¥¹!ÑÑÁI
Ñ
(ìÍÉ¥ÁÑ¥½¸¸¸¸èI
Ì
Ñɽ´¡
¹±½Á¹äÑ¡
}]¥¹!ÑÑÁ
=Á¹IÅÕÍÐ ¤Õ¹Ñ¥½¸¸
(ìMå¹Ñ
ุ¸¸¸¸¸¸¸è
}]¥¹!ÑÑÁI
Ñ ÀÌØí¡IÅÕÍÐl°¥
5½l°ÀÌØí¥
9ÕµÉ
= åÑÍQ½I
ut¤
(ìA
É
µÑÉ̸¸¸¸èÀÌØí¡IÅÕÍдY
±¥¡
¹±ÉÑÕɹɽ´ÁÉÙ¥½ÕÌ
±°Ñ¼
}]¥¹!ÑÑÁ
=Á¹IÅÕÍÐ ¤¸
(ìÀÌØí¥
5½´%¹ÑÈÉÁÉ͹ѥ¹É
¥¹µ½¸
ձХÌÀ¡¡
ÉÍÐ¥ÌÑ
¸Ñ¼9M
$ɱ
Ѥ¸
(ìÀÌØí¥
9ÕµÉ
= åÑÍQ½I
´%¹ÑÈÙ
±ÕÑ¡
н¹Ñ
¥¹ÌÑ¡¹ÕµÈ½åÑÌѼÉ
¸
ձХÌàÄäÈåÑ̸
(ìIÑÕɸÙ
±Õ̸èMÕÍÌ´IÑÕɹÌ
ÑÉ
¸
(ì´MÑÌÉɽÈѼÀ
(ì
¥±ÕÉ´IÑÕɹ̵ÁÑäÍÑÉ¥¹
¹ÍÑÌÉɽÈè
(ìðÄ´±±
±°
¥±¸
(ìÕÑ¡½È¸¸¸¸¸¸¸¸èÑÉ
¹áà°Aɽ¹ä
(ì
5½¥¥¸¸¸¸¸¸¸è
(ìIµ
É̸¸¸¸¸¸¸è¥
5½
¸¡
ÙÑ¡ÍÙ
±ÕÌè
(ìðÀ´9M
$
(ìðÄ´UQà
(ìðÈ´ ¥¹
Éä
(ìI±
Ѹ¸¸¸¸¸¸è
(ì
1¥¹¬¸¸¸¸¸¸¸¸¸¸ì¡ÑÑÀè¼½µÍ¸¹µ¥É½Í½Ð¹½´½¸µÕ̽±¥É
Éä½
ÌàÐÄÀСYL¸àÔ¤¹
ÍÁà
(ìá
µÁ±¸¸¸¸¸¸¸ìeÌ
(ì
(ìôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôôô
)Õ¹a
}]¥¹!ÑÑÁI
Ñ ÀÌØí¡IÅÕÍаÀÌØí¥
5½ôÀ°ÀÌØí¥
9ÕµÉ
= åÑÍQ½I
ôàÄäȤ
((%
1½
°ÀÌØí±Á ÕÈ
($(%MÝ¥Ñ ÀÌØí¥
5½
($%
ÍÀ
($$$ÀÌØí±Á ÕÈô±±MÑÉÕÑ
É
Ñ ÅÕ½Ðí¡
ÉlÅÕ½Ðì
µÀìÀÌØí¥
9ÕµÉ
= åÑÍQ½I
µÀìÅÕ½ÐítÅÕ½Ðì¤
($%
ÍİÈ
($$$ÀÌØí±Á ÕÈô±±MÑÉÕÑ
É
Ñ ÅÕ½ÐíåÑlÅÕ½Ðì
µÀìÀÌØí¥
9ÕµÉ
= åÑÍQ½I
µÀìÅÕ½ÐítÅÕ½Ðì¤
(%¹MÝ¥Ñ
($(%
1½
°ÀÌØí
}¥
±°ô±±
±° ÅÕ½Ðí
]¥¹¡ÑÑÀ¹±°ÅÕ½Ðì°ÅÕ½Ðí¥¹ÐÅÕ½Ðì°ÅÕ½Ðí
]¥¹!ÑÑÁI
ÑÅÕ½Ðì°|
($$$ÅÕ½Ðí¡Ý¹ÅÕ½Ðì°ÀÌØí¡IÅÕÍа|
($$$ÅÕ½ÐíÁÑÈÅÕ½Ðì°±±MÑÉÕÑÑAÑÈ ÀÌØí±Á ÕȤ°|
($$$ÅÕ½ÐíÕ±½¹ÅÕ½Ðì°ÀÌØí¥
9ÕµÉ
= åÑÍQ½I
°|
($$$ÅÕ½ÐíݽɨÅÕ½Ðì°À¤
((%%ÉɽÈ
=È
9½ÐÀÌØí
}¥
±±lÁtQ¡¸
($%MÑÉÉ½È Ä°À°ÅÕ½ÐìÅÕ½Ðì¤
(%¹%
((%MÝ¥Ñ ÀÌØí¥
5½
($%
ÍÀ
($$%IÑÕɸMÑÉÉ½È À°ÀÌØí
}¥
±±lÑt°MÑÉ¥¹
1С±±MÑÉÕÑÑ
Ñ ÀÌØí±Á ÕȰĤ°ÀÌØí
}¥
±±lÑt¤¤
($%
ÍÄ
($$%IÑÕɸMÑÉÉ½È À°ÀÌØí
}¥
±±lÑt° ¥¹
ÉåQ½MÑÉ¥¹¡ ¥¹
Éå
5¥¡±±MÑÉÕÑÑ
Ñ ÀÌØí±Á ÕȰĤ°Ä°ÀÌØí
}¥
±±lÑt¤°Ð¤¤
($%
ÍÈ
($$%IÑÕɸMÑÉÉ½È À°ÀÌØí
}¥
±±lÑt° ¥¹
Éå
5¥¡±±MÑÉÕÑÑ
Ñ ÀÌØí±Á ÕȰĤ°Ä°ÀÌØí
}¥
±±lÑt¤¤
(%¹MÝ¥Ñ
()¹Õ¹