Bagaimana untuk mengesahkan sama ada alamat URL ialah protokol HTTPS menggunakan ungkapan biasa dalam golang

WBOY
Lepaskan: 2023-06-24 12:05:33
asal
923 orang telah melayarinya

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>
Salin selepas log masuk

di mana, <host> mewakili nama hos, yang boleh menjadi nama domain atau alamat IP <port> ialah nombor port, lalai ialah 443; <path> ialah laluan, menunjuk ke Sumber pada pelayan; <query> ialah parameter pertanyaan yang digunakan untuk menghantar maklumat tambahan kepada pelayan <fragment> 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)
}
Salin selepas log masuk

Dalam fungsi ini, kami mula-mula mentakrifkan corak ungkapan biasa pattern yang akan sepadan dengan URL protokol HTTPS. Corak termasuk bahagian berikut:

  • "^https://" bermaksud rentetan URL mesti bermula dengan "https://";
  • "1 +" menunjukkan bahagian nama hos tidak mengandungi garis miring dan titik bertindih;
  • "(:d*)?" menunjukkan nombor port pilihan, yang terdiri daripada titik bertindih dan beberapa nombor ;
  • "(/.*)?"

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)
        }
    }
}
Salin selepas log masuk

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
Salin selepas log masuk

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.


  1. /:

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!

Label berkaitan:
sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan