Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk mengesahkan sama ada alamat URL ialah protokol HTTPS menggunakan ungkapan biasa dalam golang
Golang ialah bahasa pengaturcaraan yang cekap yang sering digunakan untuk membuat aplikasi web. Dalam aplikasi web, alamat URL selalunya perlu disahkan untuk memastikan ia sepadan dengan matlamat kami. Dalam artikel ini, kami akan memperkenalkan cara menggunakan ungkapan biasa di Golang untuk mengesahkan sama ada alamat URL ialah protokol HTTPS.
Pertama, kita perlu memahami format URL protokol HTTPS. URL protokol HTTPS mewarisi sebahagian daripada URL protokol HTTP, tetapi ia mempunyai beberapa ciri unik. Format asas URL protokol HTTPS ialah:
https://<host>:<port>/<path>?<query>#<fragment>
di mana, f7e6dec31ab1a0471d06c55afaca8d77
mewakili nama hos, yang boleh menjadi nama domain atau alamat IP 298c9bd6ad6e8c821dc63aa0473d6209
ialah nombor port, lalai ialah 443; 98953a78f52873edae60a617ec082494
ialah laluan, menunjuk ke Sumber pada pelayan; 708654619547c0a0fe5e1defc275b0b6
ialah parameter pertanyaan yang digunakan untuk menghantar maklumat tambahan kepada pelayan ea3db66fb2aecd229084eb0d83a5f5b7
ialah serpihan yang digunakan untuk mencari bahagian tertentu dalam halaman.
Seterusnya, kami akan menulis fungsi untuk mengesahkan sama ada URL itu protokol HTTPS. Fungsi ini akan menggunakan ungkapan biasa untuk memadankan rentetan URL. Berikut ialah kod fungsi pengesahan:
import "regexp" func IsHTTPS(url string) bool { pattern := `^https://[^/:]+(:d*)?(/.*)?$` re := regexp.MustCompile(pattern) return re.MatchString(url) }
Dalam fungsi ini, kami mula-mula mentakrifkan corak ungkapan biasa pattern
yang akan sepadan dengan URL protokol HTTPS. Corak termasuk bahagian berikut:
Seterusnya, kami menggunakan pakej regexp
daripada pustaka standard Go untuk menyusun corak ungkapan biasa dan menyimpannya dalam pembolehubah re
. Kami kemudian menggunakan fungsi MatchString
untuk menguji sama ada rentetan URL masuk sepadan dengan corak. Jika perlawanan berjaya, true
dikembalikan, jika tidak false
dikembalikan.
Kini, kita boleh menggunakan fungsi di atas untuk menguji beberapa alamat URL untuk melihat sama ada ia mematuhi format protokol HTTPS. Berikut ialah beberapa kes ujian:
func main() { testCases := []string{ "https://www.example.com", "https://www.example.com/", "https://www.example.com:8443", "https://www.example.com:8443/", "https://www.example.com/foo/bar.html", "https://www.example.com/foo/bar.html?param=value", } for _, url := range testCases { if IsHTTPS(url) { fmt.Printf("%s is valid HTTPS URL ", url) } else { fmt.Printf("%s is not valid HTTPS URL ", url) } } }
Dalam kes ujian ini, kami mentakrifkan tatasusunan rentetan, setiap rentetan mengandungi alamat URL. Kemudian, kami mengulangi tatasusunan ini, dan untuk setiap alamat URL, kami memanggil fungsi di atas IsHTTPS
untuk menguji sama ada ia berada dalam format protokol HTTPS. Jika ya, kami mengeluarkan mesej yang menunjukkan bahawa alamat itu ialah URL HTTPS yang sah, jika tidak, kami mengeluarkan mesej yang menunjukkan bahawa alamat itu bukan URL HTTPS yang sah.
Apabila kami menjalankan kod di atas, kami akan mendapat output berikut:
https://www.example.com is valid HTTPS URL https://www.example.com/ is valid HTTPS URL https://www.example.com:8443 is valid HTTPS URL https://www.example.com:8443/ is valid HTTPS URL https://www.example.com/foo/bar.html is valid HTTPS URL https://www.example.com/foo/bar.html?param=value is valid HTTPS URL
Semua alamat URL diiktiraf dengan betul sebagai alamat HTTPS yang sah.
Dalam artikel ini, kami membincangkan cara menggunakan ungkapan biasa dalam Golang untuk mengesahkan sama ada alamat URL ialah protokol HTTPS. Kami menulis fungsi IsHTTPS
yang menggunakan corak ungkapan biasa khusus untuk memadankan rentetan URL dan mengembalikan nilai Boolean yang menunjukkan sama ada ia adalah alamat protokol HTTPS. Jika anda perlu mengesahkan jenis alamat URL lain, sila ubah suai corak mengikut keperluan.
Atas ialah kandungan terperinci Bagaimana untuk mengesahkan sama ada alamat URL ialah protokol HTTPS menggunakan ungkapan biasa dalam golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!