golangで正規表現を使用してURLアドレスがHTTPSプロトコルであるかどうかを確認する方法

WBOY
リリース: 2023-06-24 12:05:33
オリジナル
923 人が閲覧しました

Golang は、Web アプリケーションの作成によく使用される効率的なプログラミング言語です。 Web アプリケーションでは、URL アドレスが目標と一致していることを確認するために、URL アドレスを検証する必要があることがよくあります。この記事では、Golang で正規表現を使用して URL アドレスが HTTPS プロトコルであるかどうかを確認する方法を紹介します。

まず、HTTPS プロトコルの URL 形式を理解する必要があります。 HTTPS プロトコル URL は HTTP プロトコル URL の一部を継承しますが、いくつかの独自の特性があります。 HTTPS プロトコル URL の基本形式は次のとおりです:

https://<host>:<port>/<path>?<query>#<fragment>
ログイン後にコピー

ここで、<host> はホスト名を表し、ドメイン名または IP アドレスにすることができます。 はポート番号、デフォルトは 443、 はサーバー上のリソースを指すパス、 はクエリ パラメータ、次の目的で使用されます。追加情報をサーバーに渡します。 はフラグメントであり、ページ内の特定の部分を見つけるために使用されます。

次に、URL が HTTPS プロトコルであるかどうかを確認する関数を作成します。この関数は正規表現を使用して URL 文字列を照合します。以下は、検証関数のコードです。

import "regexp"

func IsHTTPS(url string) bool {
    pattern := `^https://[^/:]+(:d*)?(/.*)?$`
    re := regexp.MustCompile(pattern)
    return re.MatchString(url)
}
ログイン後にコピー

この関数では、まず、HTTPS プロトコルの URL と一致する正規表現パターン

pattern を定義します。パターンには次の部分が含まれます:

    "^https://" は、URL 文字列が "https://" で始まる必要があることを示します。
  • "
  • 1 "ホスト名部分にスラッシュとコロンが含まれていないことを示します。
  • "(:d*)?" は、コロンといくつかの数字で構成されるオプションのポート番号を示します。
  • "(/.*)?" は、スラッシュと任意の文字で構成されるオプションのパス部分を示します。
次に、Go 標準ライブラリの

regexp パッケージを使用して正規表現パターンをコンパイルし、変数 re に保存します。次に、MatchString 関数を使用して、受信 URL 文字列がパターンと一致するかどうかをテストします。一致が成功した場合は true が返され、それ以外の場合は false が返されます。

ここで、上記の関数を使用して、いくつかの URL アドレスをテストし、HTTPS プロトコルの形式に準拠しているかどうかを確認できます。以下にいくつかのテスト ケースを示します。

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)
        }
    }
}
ログイン後にコピー

このテスト ケースでは、文字列の配列を定義します。各文字列には URL アドレスが含まれます。次に、この配列を繰り返し処理し、URL アドレスごとに上記の関数

IsHTTPS を呼び出して、それが HTTPS プロトコルの形式であるかどうかをテストします。そうである場合は、アドレスが有効な HTTPS URL であることを示すメッセージを出力します。そうでない場合は、アドレスが有効な HTTPS URL ではないことを示すメッセージを出力します。

上記のコードを実行すると、次の出力が得られます:

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
ログイン後にコピー
すべての URL アドレスが有効な HTTPS アドレスとして正しく認識されます。

この記事では、Golang で正規表現を使用して、URL アドレスが HTTPS プロトコルであるかどうかを確認する方法について説明しました。特定の正規表現パターンを使用して URL 文字列と照合し、それが HTTPS プロトコルのアドレスであるかどうかを示すブール値を返す関数

IsHTTPS を作成しました。他のタイプの URL アドレスを検証する必要がある場合は、必要に応じてパターンを自由に変更してください。


    /:

以上がgolangで正規表現を使用してURLアドレスがHTTPSプロトコルであるかどうかを確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート