@@ -1795,7 +1795,13 @@ Func _WinHttpSimpleSendSSLRequest($hConnect, $sType = Default, $sPath = Default,
1795
1795
_WinHttpSetOption($hRequest , $WINHTTP_OPTION_REDIRECT_POLICY , $WINHTTP_OPTION_REDIRECT_POLICY_ALWAYS )
1796
1796
_WinHttpSetOption(_WinHttpQueryOption(_WinHttpQueryOption($hRequest , $WINHTTP_OPTION_PARENT_HANDLE ), $WINHTTP_OPTION_PARENT_HANDLE ), $WINHTTP_OPTION_SECURE_PROTOCOLS , BitOR ($WINHTTP_FLAG_SECURE_PROTOCOL_ALL , $WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_1 , $WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_2 ))
1797
1797
_WinHttpSendRequest($hRequest , $sHeader , $sDta )
1798
- If @error Then Return SetError (2 , 0 * _WinHttpCloseHandle($hRequest ), 0 )
1798
+ If @error Then
1799
+ If __WinHttpGetLastError() = $ERROR_WINHTTP_SECURE_FAILURE Then
1800
+ _WinHttpSetOption(_WinHttpQueryOption(_WinHttpQueryOption($hRequest , $WINHTTP_OPTION_PARENT_HANDLE ), $WINHTTP_OPTION_PARENT_HANDLE ), $WINHTTP_OPTION_SECURE_PROTOCOLS , BitOR ($WINHTTP_FLAG_SECURE_PROTOCOL_TLS1 , $WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_1 , $WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_2 ))
1801
+ _WinHttpSendRequest($hRequest , $sHeader , $sDta )
1802
+ If @error Then Return SetError (2 , 0 * _WinHttpCloseHandle($hRequest ), 0 )
1803
+ EndIf
1804
+ EndIf
1799
1805
_WinHttpReceiveResponse($hRequest )
1800
1806
If @error Then Return SetError (3 , 0 * _WinHttpCloseHandle($hRequest ), 0 )
1801
1807
Return $hRequest
@@ -2417,6 +2423,12 @@ Func __WinHttpPtrStringLenW($pStr)
2417
2423
Return $aCall [0 ]
2418
2424
EndFunc
2419
2425
2426
+ Func __WinHttpGetLastError()
2427
+ Local $aCall = DllCall (" kernel32.dll" , " dword" , " GetLastError" )
2428
+ If @error Then Return SetError (1 , 0 , 0 )
2429
+ Return $aCall [0 ]
2430
+ EndFunc
2431
+
2420
2432
Func __WinHttpUA()
2421
2433
Local Static $sUA = " Mozilla/5.0 " & __WinHttpSysInfo() & " WinHttp/" & __WinHttpVer() & " (WinHTTP/5.1) like Gecko"
2422
2434
Return $sUA
0 commit comments