Heim >Backend-Entwicklung >C++ >Wie mache ich sichere HTTPS-Aufrufe mit HttpClient in C#?

Wie mache ich sichere HTTPS-Aufrufe mit HttpClient in C#?

Barbara Streisand
Barbara StreisandOriginal
2025-01-17 23:46:08501Durchsuche

How to Make Secure HTTPS Calls with HttpClient in C#?

HTTPS-Anfragen mit dem HttpClient von C# sichern

In dieser Anleitung wird erläutert, wie Sie sichere HTTPS-Aufrufe mithilfe der HttpClient-Klasse in C# durchführen. HttpClient, eine überlegene Alternative zu WebClient, verarbeitet HTTP-Anfragen, erfordert jedoch Anpassungen für HTTPS. Befolgen Sie diese Schritte:

  1. Gewährleistung der TLS-Kompatibilität:

Viele Server erfordern bestimmte TLS-Versionen. Wenn die Konfiguration Ihres Clients nicht kompatibel ist, schlagen HTTPS-Verbindungen aufgrund von Vertrauensproblemen fehl. Um dieses Problem zu beheben, fügen Sie den folgenden Code hinzu:

<code class="language-csharp">System.Net.ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;</code>
  1. HTTPS in Ihrem Code implementieren:

Um HTTPS zu aktivieren, ändern Sie Ihren Code wie unten gezeigt:

<code class="language-csharp">HttpClient httpClient = new HttpClient();

// Set TLS 1.2 as the default connection protocol
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>

Wichtige Überlegungen:

Für Szenarien, die eine Zertifikatsvalidierung erfordern, müssen Sie das Zertifikat möglicherweise explizit angeben. Detaillierte Anleitungen zur Zertifikatsverwaltung finden Sie in der offiziellen HttpClient Dokumentation.

Das obige ist der detaillierte Inhalt vonWie mache ich sichere HTTPS-Aufrufe mit HttpClient in C#?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn