Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Membuat Panggilan HTTPS dengan HttpClient Menggunakan TLS 1.2?

Bagaimana untuk Membuat Panggilan HTTPS dengan HttpClient Menggunakan TLS 1.2?

DDD
DDDasal
2025-01-17 23:51:09611semak imbas

How to Make HTTPS Calls with HttpClient Using TLS 1.2?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn