這段代碼:
uses
System.Net.HttpClient;
procedure TForm2.Button1Click(Sender: TObject);
var
LHTTP: THTTPClient;
LResponse: IHTTPResponse;
begin
LHTTP := THTTPClient.Create;
try
LHTTP.SecureProtocols := [THTTPSecureProtocol.TLS13];
LResponse := LHTTP.Get('https://tls13.1d.pw'); // TLS 1.3 ONLY site
if LResponse.StatusCode = 200 then
ShowMessage('TLS 1.3 worked');
finally
LHTTP.Free;
end;
end;
結果是:
---------------------------
Debugger Exception Notification
---------------------------
Project Project1.exe raised exception class ENetHTTPClientException with message 'Error sending data: (12175) A security error occurred'.
---------------------------
Break Continue Help Copy
---------------------------
使用 Windows 10(相同的代碼適用于 Windows 11)。我已經進入 Windows 中的 Internet 選項設定并啟用了 TLS 1.3,但這并不能解決問題。
還有什么我需要做的嗎?
uj5u.com熱心網友回復:
根據 WinHTTP錯誤訊息檔案:
ERROR_WINHTTP_SECURE_FAILURE
12175
在服務器發送的安全套接字層 (SSL) 證書中發現一個或多個錯誤。要確定遇到了什么型別的錯誤,請檢查
WINHTTP_CALLBACK_STATUS_SECURE_FAILURE狀態回呼函式中的通知。有關詳細資訊,請參閱WINHTTP_STATUS_CALLBACK。
不幸的是,THTTPClient它不為您提供使用此類回呼的訪問權限,但它確實使用內部回呼來捕獲ERROR_WINHTTP_SECURE_FAILURE其SecureFailureReasons屬性中的原因。因此,您可以檢查以獲取更多資訊。
你確定你在 Windows 10 上啟用了 TLS 1.3 嗎?您使用的是 build 1903 還是更高版本?早期版本不支持 TLS 1.3。
如何在 Windows 10 中啟用 TLS 1.3
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/446160.html
標籤:德尔福 delphi-11-亚历山大 delphi 运行时库
上一篇:如何創建蒙版并在其上繪圖
