Sichern der HTTPS-Kommunikation mit HttpClient
Die HttpClient
-Klasse vereinfacht HTTP-Anfragen, aber HTTPS-Verbindungen können manchmal Schwierigkeiten bereiten, insbesondere wenn Server nur neuere TLS-Versionen wie TLS 1.2 unterstützen. Dieser Artikel befasst sich mit diesem häufigen Problem.
Um die Kompatibilität mit TLS 1.2 (und anderen relevanten Versionen) sicherzustellen, fügen Sie diese Codezeile hinzu:
<code class="language-csharp">System.Net.ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;</code>
Dieser Befehl aktiviert explizit TLS 1.2, TLS 1.1 und TLS 1.0 und sorgt so für eine breitere Kompatibilität mit verschiedenen Servern.
So integrieren Sie dies in Ihren HttpClient
Code:
<code class="language-csharp">HttpClient httpClient = new HttpClient(); // Enable TLS 1.2 and other compatible protocols System.Net.ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls; httpClient.BaseAddress = new Uri("https://foobar.com/"); httpClient.DefaultRequestHeaders.Accept.Clear(); httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/xml")); var task = httpClient.PostAsXmlAsync<devicerequest>("api/SaveData", request);</code>
Durch die Integration dieser Anpassung stellt Ihre Anwendung über sichere TLS-Protokolle zuverlässig eine Verbindung zu HTTPS-Servern her und ermöglicht so einen erfolgreichen Datenaustausch.
Das obige ist der detaillierte Inhalt vonWie tätige ich HTTPS-Anrufe mit HttpClient unter Verwendung von TLS 1.2?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!