Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Mengesahkan URL HTTP dan HTTPS dalam Input?

Bagaimanakah Saya Boleh Mengesahkan URL HTTP dan HTTPS dalam Input?

Patricia Arquette
Patricia Arquetteasal
2025-01-09 14:08:42268semak imbas

How Can I Reliably Validate HTTP and HTTPS URLs in Input?

Pengesahan Input Teguh untuk URL HTTP dan HTTPS

Kaedah pengesahan URL biasa seperti Uri.IsWellFormedUriString dan Uri.TryCreate kadangkala gagal membezakan URL HTTP yang sah daripada laluan fail lain dengan pasti. Ini memberikan cabaran yang ketara apabila mengesahkan input pengguna di mana hanya HTTP atau HTTPS URL boleh diterima.

Pendekatan Lebih Tepat: Menggabungkan Pengesahan URI dan Semakan Skim

Penyelesaian yang lebih mantap melibatkan penggabungan pengesahan URI struktur dengan pemeriksaan khusus untuk skema HTTP atau HTTPS:

<code class="language-csharp">Uri uriResult;
bool isValidHttpUrl = Uri.TryCreate(uriString, UriKind.Absolute, out uriResult) && uriResult.Scheme == Uri.UriSchemeHttp;</code>

Kod ini mula-mula menggunakan Uri.TryCreate untuk mengesahkan rentetan input (uriString) sebagai URI yang terbentuk dengan baik. Jika berjaya, ia kemudian menyemak sama ada skema URI ialah Uri.UriSchemeHttp.

Melanjutkan Pengesahan untuk Memasukkan HTTPS

Untuk memasukkan URL HTTPS, hanya kembangkan perbandingan skema:

<code class="language-csharp">Uri uriResult;
bool isValidHttpOrHttpsUrl = Uri.TryCreate(uriString, UriKind.Absolute, out uriResult) && (uriResult.Scheme == Uri.UriSchemeHttp || uriResult.Scheme == Uri.UriSchemeHttps);</code>

Semakan dipertingkat ini menerima kedua-dua protokol HTTP dan HTTPS, memberikan pengesahan URL yang komprehensif untuk input anda.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengesahkan URL HTTP dan HTTPS dalam Input?. 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