Menjamin Komunikasi HTTPS dengan HttpClient
Kelas HttpClient
memudahkan permintaan HTTP, tetapi sambungan HTTPS kadangkala boleh menimbulkan kesukaran, terutamanya apabila pelayan hanya menyokong versi TLS yang lebih baharu seperti TLS 1.2. Artikel ini menangani masalah biasa ini.
Untuk memastikan keserasian dengan TLS 1.2 (dan versi lain yang berkaitan), tambah baris kod ini:
<code class="language-csharp">System.Net.ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;</code>
Arahan ini secara eksplisit mendayakan TLS 1.2, TLS 1.1 dan TLS 1.0, memberikan keserasian yang lebih luas dengan pelbagai pelayan.
Berikut ialah cara untuk menyepadukan ini ke dalam kod HttpClient
anda:
<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>
Dengan memasukkan pelarasan ini, aplikasi anda akan bersambung dengan pasti ke pelayan HTTPS menggunakan protokol TLS selamat, membolehkan pertukaran data berjaya.
Atas ialah kandungan terperinci Bagaimana untuk Membuat Panggilan HTTPS dengan HttpClient Menggunakan TLS 1.2?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!