Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Membetulkan 'Ralat Tidak Dijangka pada Hantar' Apabila Menggunakan Pengesahan Asas dengan HttpWebRequest?
Menggunakan pengesahan asas dengan HttpWebRequest
kadangkala boleh mengakibatkan "ralat tidak dijangka pada mesej penghantaran". Isu ini selalunya diselesaikan dengan menambahkan pengepala kebenaran secara manual pada permintaan anda.
Penyelesaian melibatkan pengekodan nama pengguna dan kata laluan anda sebagai rentetan Base64, memastikan keserasian merentas pelbagai pelayan HTTP. Kaedah System.Convert.ToBase64String
, digabungkan dengan pengekodan ISO-8859-1
, mencapai ini:
<code class="language-csharp">string username = "abc"; string password = "123"; string encoded = Convert.ToBase64String(Encoding.GetEncoding("ISO-8859-1").GetBytes(username + ":" + password));</code>
Seterusnya, tambahkan rentetan yang dikodkan ini pada skema pengesahan "Asas" dan tambahkannya sebagai pengepala "Kebenaran" pada objek HttpWebRequest
anda:
<code class="language-csharp">httpWebRequest.Headers.Add("Authorization", "Basic " + encoded);</code>
Tambahan pengepala manual ini, menggunakan pengekodan yang ditentukan, memastikan komunikasi yang betul dengan pelayan yang memerlukan pengesahan asas, dengan itu menghalang "ralat tidak dijangka semasa penghantaran" semasa proses permintaan.
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan 'Ralat Tidak Dijangka pada Hantar' Apabila Menggunakan Pengesahan Asas dengan HttpWebRequest?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!