Skip to content

Commit 4f69be0

Browse files
committed
Added: More logic to internal __WinHttpNormalizeActionURL().
1 parent 4e8824c commit 4f69be0

File tree

1 file changed

+21
-5
lines changed

1 file changed

+21
-5
lines changed

WinHttp.au3

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2043,11 +2043,27 @@ Func __WinHttpNormalizeActionURL($sActionPage, ByRef $sAction, ByRef $iScheme, B
20432043
Local $aCrackURL = _WinHttpCrackUrl($sAction)
20442044
If @error Then
20452045
If $sAction Then
2046-
If StringLeft($sAction, 1) <> "/" Then
2047-
Local $sCurrent
2048-
Local $aURL = StringRegExp($sActionPage, '(.*)/', 3)
2049-
If Not @error Then $sCurrent = $aURL[0]
2050-
If $sCurrent Then $sAction = $sCurrent & "/" & $sAction
2046+
If StringLeft($sAction, 2) = "//" Then
2047+
$aCrackURL = _WinHttpCrackUrl($sURL)
2048+
If Not @error Then
2049+
$aCrackURL = _WinHttpCrackUrl($aCrackURL[0] & ":" & $sAction)
2050+
If Not @error Then
2051+
$sNewURL = $aCrackURL[0] & "://" & $aCrackURL[2] & ":" & $aCrackURL[3]
2052+
$iScheme = $aCrackURL[1]
2053+
$sAction = $aCrackURL[6] & $aCrackURL[7]
2054+
$sActionPage = ""
2055+
EndIf
2056+
EndIf
2057+
ElseIf StringLeft($sAction, 1) = "?" Then
2058+
$aCrackURL = _WinHttpCrackUrl($sURL)
2059+
$sAction = $aCrackURL[6] & $sAction
2060+
ElseIf StringLeft($sAction, 1) = "#" Then
2061+
$sAction = StringReplace($sActionPage, StringRegExpReplace($sActionPage, "(.*?)(#.*?)", "$2"), $sAction)
2062+
ElseIf StringLeft($sAction, 1) <> "/" Then
2063+
Local $sCurrent
2064+
Local $aURL = StringRegExp($sActionPage, '(.*)/', 3)
2065+
If Not @error Then $sCurrent = $aURL[0]
2066+
If $sCurrent Then $sAction = $sCurrent & "/" & $sAction
20512067
EndIf
20522068
If StringLeft($sAction, 1) = "?" Then $sAction = $sActionPage & $sAction
20532069
EndIf

0 commit comments

Comments
 (0)