Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Membetulkan Ralat 'Sambungan asas telah ditutup' dengan Pengesahan Asas HttpWebRequest?

Bagaimana untuk Membetulkan Ralat 'Sambungan asas telah ditutup' dengan Pengesahan Asas HttpWebRequest?

Mary-Kate Olsen
Lepaskan: 2025-01-10 19:43:12
asal
594 orang telah melayarinya

How to Fix

Menyelesaikan Isu Pengesahan Asas HttpWebRequest

Artikel ini menangani masalah biasa yang dihadapi apabila menggunakan HttpWebRequest dengan pengesahan asas: "Sambungan asas telah ditutup: Ralat yang tidak dijangka berlaku pada penghantaran." Ralat ini selalunya timbul daripada konflik dengan pengendalian pengesahan lalai.

Penyelesaian adalah untuk memintas mekanisme lalai dan terus menguruskan pengepala Authorization. Pengepala ini memerlukan kaedah pengesahan ("Asas") dan bukti kelayakan berkod base64.

Berikut ialah cara untuk melaksanakan perkara ini:

var username = "abc";
var password = "123";
string encoded = Convert.ToBase64String(Encoding.GetEncoding("ISO-8859-1")
                                  .GetBytes(username + ":" + password));
httpWebRequest.Headers.Add("Authorization", "Basic " + encoded);
Salin selepas log masuk

Coretan kod ini mengambil nama pengguna dan kata laluan, mengekodnya menggunakan base64 dengan pengekodan ISO-8859-1 (untuk memastikan keserasian dengan pelayan), dan kemudian menambah rentetan yang terhasil pada pengepala Authorization HttpWebRequest. Ini membolehkan permintaan untuk mengesahkan dengan betul, menghalang penutupan sambungan dan membolehkan komunikasi yang berjaya. Penggunaan pengekodan ISO-8859-1 adalah penting untuk menyelesaikan banyak kegagalan pengesahan. Dengan menetapkan pengepala secara manual, aplikasi mengelakkan potensi isu dengan proses pengesahan lalai.

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat 'Sambungan asas telah ditutup' dengan Pengesahan Asas HttpWebRequest?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan