Rumah >pembangunan bahagian belakang >C++ >Mengapa Pengesahan Asas Saya Gagal dengan Ralat Penutupan Pelayan, dan Bagaimana Saya Boleh Membetulkannya Menggunakan Pengekodan ISO-8859-1?
Menyelesaikan Masalah Pengesahan Asas dan Ralat Penutupan Pelayan
Artikel ini menangani masalah biasa yang dihadapi apabila menggunakan pengesahan asas dengan IIS: ralat penutupan pelayan. Punca utama selalunya terletak pada pengekodan yang digunakan untuk bukti kelayakan pengesahan.
Berikut ialah contoh kod yang menunjukkan penyelesaian:
<code class="language-csharp">CookieContainer myContainer = new CookieContainer(); HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://telematicoprova.agenziadogane.it/TelematicoServiziDiUtilitaWeb/ServiziDiUtilitaAutServlet?UC=22&SC=1&ST=2"); string username = "abc"; string password = "123"; string encoded = Convert.ToBase64String(Encoding.GetEncoding("ISO-8859-1").GetBytes(username + ":" + password)); request.Headers.Add("Authorization", "Basic " + encoded); request.CookieContainer = myContainer; request.PreAuthenticate = true; HttpWebResponse response = (HttpWebResponse)request.GetResponse();</code>
Kunci untuk menyelesaikan ralat penutupan pelayan adalah menggunakan pengekodan yang betul. Walaupun UTF-8 kerap digunakan, ISO-8859-1 ialah pengekodan yang sesuai untuk pengesahan asas dalam senario ini. Kod yang dikemas kini secara eksplisit menetapkan pengekodan kepada ISO-8859-1, memastikan pengepala kebenaran adalah betul diformat dan menghalang pelayan daripada menutup sambungan.
Atas ialah kandungan terperinci Mengapa Pengesahan Asas Saya Gagal dengan Ralat Penutupan Pelayan, dan Bagaimana Saya Boleh Membetulkannya Menggunakan Pengekodan ISO-8859-1?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!