Dalam C#, kelas HttpClient ialah alat yang berkuasa untuk membuat panggilan API Web. Ia menyediakan cara yang mudah dan cekap untuk menghantar dan menerima data, jadi ia sangat popular di kalangan pembangun. Walau bagaimanapun, menggunakan HttpClient untuk membuat panggilan HTTPS kadangkala menimbulkan cabaran.
Untuk mendayakan panggilan HTTPS menggunakan HttpClient, anda mesti menyelesaikan isu perhubungan kepercayaan SSL/TLS dahulu. Secara lalai, HttpClient hanya mempercayai sijil yang diprapasang dalam stor sijil sistem pengendalian. Jika sijil pelayan tiada dalam stor, anda akan menghadapi ralat mengatakan bahawa hubungan kepercayaan tidak dapat diwujudkan.
Untuk mengatasi masalah ini, anda boleh menambah baris kod berikut pada program anda:
<code>System.Net.ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;</code>
Kod ini menunjukkan bahawa HttpClient menyokong TLS versi 1.2, 1.1 dan 1.0. Jika pelayan menyokong versi TLS yang lebih tinggi, seperti TLS 1.3, kod ini mungkin perlu dikemas kini dengan sewajarnya.
Dalam sesetengah kes, pelayan mungkin memerlukan pelanggan untuk memberikan sijil dan kunci awam/peribadi untuk pengesahan. Untuk memberikan kelayakan ini menggunakan HttpClient, anda boleh menggunakan kelas HttpClientHandler. Contohnya adalah seperti berikut:
<code>var httpClientHandler = new HttpClientHandler(); httpClientHandler.ClientCertificates.Add(new X509Certificate2(...));</code>
Dalam kod ini, ... mewakili laluan ke fail sijil dan, jika perlu, kata laluan. HttpClient kemudiannya boleh dijadikan instantiated menggunakan HttpClientHandler tersuai:
<code>HttpClient httpClient = new HttpClient(httpClientHandler);</code>
Dengan memasukkan peningkatan ini ke dalam kod HttpClient anda, anda boleh membuat panggilan HTTPS selamat dan melaksanakan mekanisme kepercayaan dan pengesahan dengan cekap.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membuat Panggilan HTTPS Selamat dengan HttpClient dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!