Skip to content

Commit 72d80df

Browse files
committed
Changed: HTTPS vs HTTP scheme detection algo improved.
1 parent fc49ada commit 72d80df

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

WinHttp.au3

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1138,7 +1138,7 @@ Func _WinHttpSimpleFormFill(ByRef $hInternet, $sActionPage = Default, $sFormId =
11381138
$fVarForm = True
11391139
Else
11401140
$sHTML = _WinHttpSimpleRequest($hInternet, Default, $sActionPage, Default, Default, "Accept: text/html;q=0.9,text/plain;q=0.8,*/*;q=0.5", Default, Default, $sCredName, $sCredPass)
1141-
If @error Then
1141+
If @error Or @extended >= $HTTP_STATUS_BAD_REQUEST Then
11421142
$sHTML = _WinHttpSimpleSSLRequest($hInternet, Default, $sActionPage, Default, Default, "Accept: text/html;q=0.9,text/plain;q=0.8,*/*;q=0.5", Default, Default, $sCredName, $sCredPass)
11431143
$iScheme = $INTERNET_SCHEME_HTTPS
11441144
EndIf
@@ -1526,7 +1526,7 @@ Func _WinHttpSimpleFormFill(ByRef $hInternet, $sActionPage = Default, $sFormId =
15261526
$hRequest = __WinHttpFormSend($hInternet, $sMethod, $sAction, $fMultiPart, $sBoundary, $sAddData, True, $sAdditionalHeaders, $sCredName, $sCredPass)
15271527
Else
15281528
$hRequest = __WinHttpFormSend($hInternet, $sMethod, $sAction, $fMultiPart, $sBoundary, $sAddData, False, $sAdditionalHeaders, $sCredName, $sCredPass)
1529-
If _WinHttpQueryHeaders($hRequest, $WINHTTP_QUERY_STATUS_CODE) > $HTTP_STATUS_BAD_REQUEST Then
1529+
If _WinHttpQueryHeaders($hRequest, $WINHTTP_QUERY_STATUS_CODE) >= $HTTP_STATUS_BAD_REQUEST Then
15301530
_WinHttpCloseHandle($hRequest)
15311531
$hRequest = __WinHttpFormSend($hInternet, $sMethod, $sAction, $fMultiPart, $sBoundary, $sAddData, True, $sAdditionalHeaders, $sCredName, $sCredPass) ; try adding $WINHTTP_FLAG_SECURE
15321532
EndIf
@@ -1651,15 +1651,16 @@ Func _WinHttpSimpleRequest($hConnect, $sType = Default, $sPath = Default, $sRefe
16511651
If $iMode > 2 Or $iMode < 0 Then Return SetError(4, 0, 0)
16521652
Local $hRequest = _WinHttpSimpleSendRequest($hConnect, $sType, $sPath, $sReferrer, $sData, $sHeader)
16531653
If @error Then Return SetError(@error, 0, 0)
1654+
Local $iExtended = _WinHttpQueryHeaders($hRequest, $WINHTTP_QUERY_STATUS_CODE)
16541655
__WinHttpSetCredentials($hRequest, $sHeader, $sData, $sCredName, $sCredPass)
16551656
If $fGetHeaders Then
16561657
Local $aData[2] = [_WinHttpQueryHeaders($hRequest), _WinHttpSimpleReadData($hRequest, $iMode)]
16571658
_WinHttpCloseHandle($hRequest)
1658-
Return $aData
1659+
Return SetExtended($iExtended, $aData)
16591660
EndIf
16601661
Local $sOutData = _WinHttpSimpleReadData($hRequest, $iMode)
16611662
_WinHttpCloseHandle($hRequest)
1662-
Return $sOutData
1663+
Return SetExtended($iExtended, $sOutData)
16631664
EndFunc
16641665

16651666
; #FUNCTION# ====================================================================================================================

0 commit comments

Comments
 (0)