Verwenden Sie HttpClient, um sichere HTTPS-Anrufe zu tätigen
Frage:
Beim Verwenden von HttpClient zum Senden einer HTTPS-Anfrage tritt ein Fehler auf: „Die zugrunde liegende Verbindung wurde geschlossen: Es konnte keine Vertrauensstellung für den sicheren SSL/TLS-Kanal hergestellt werden.“
Lösung:
Um dieses Problem zu beheben, befolgen Sie bitte diese Schritte:
Sicherheitsprotokoll festlegen:
Geben Sie das standardmäßig verwendete TLS-Protokoll an. Fügen Sie Ihrem Code die folgenden Zeilen hinzu:
<code class="language-csharp">System.Net.ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;</code>
HttpClient-Code ändern:
HttpClient-Code geändert, um HTTPS-Aufrufe zu unterstützen:
<code class="language-csharp">HttpClient httpClient = new HttpClient(); 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>
Zusätzliche Hinweise:
Das obige ist der detaillierte Inhalt vonWie kann ich den Fehler „Konnte keine Vertrauensbeziehung herstellen' beheben, wenn ich HTTPS-Aufrufe mit HttpClient durchführe?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!