Как проверить, является ли строка url в golang?

Пользователь

от richie_mayert , в категории: Golang , 7 месяцев назад

Как проверить, является ли строка url в golang?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от nicola , 7 месяцев назад

@richie_mayert 

В Go можно проверить, является ли строка URL с помощью пакета net/url. Вот пример кода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
package main

import (
	"fmt"
	"net/url"
)

func main() {
	str := "https://www.example.com/path?foo=bar"
	u, err := url.Parse(str)
	if err != nil || u.Scheme == "" || u.Host == "" {
		fmt.Println("Invalid URL")
		return
	}
	fmt.Println("Valid URL")
}


В этом примере мы передаем строку str в функцию url.Parse(). Если строка является допустимым URL, функция вернет указатель на объект типа url.URL. Если URL недопустим, функция вернет ошибку. Затем мы проверяем, что объект URL содержит допустимую схему и хост, чтобы убедиться, что URL действительно является допустимым.