РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1110 of 1593 menu

Функция url.Parse

Функция url.Parse разбирает переданную строку URL и возвращает указатель на структуру url.URL, содержащую все компоненты адреса: схему, хост, путь, параметры запроса и фрагмент. В первый параметр мы передаем строку с URL-адресом, который нужно разобрать. Функция возвращает два значения: структуру URL и ошибку error, которая будет не nil, если разбор невозможен.

Синтаксис

url.Parse(rawURL)

Пример

Давайте разберем простой URL-адрес и выведем его компоненты:

package main import ( "fmt" "net/url" ) func main() { u, err := url.Parse("https://example.com:8080/path/to/page?key=value&foo=bar#fragment") if err != nil { fmt.Println(err) return } fmt.Println("Scheme:", u.Scheme) fmt.Println("Host:", u.Host) fmt.Println("Path:", u.Path) fmt.Println("RawQuery:", u.RawQuery) fmt.Println("Fragment:", u.Fragment) }

Результат выполнения кода:

"Scheme: https" "Host: example.com:8080" "Path: /path/to/page" "RawQuery: key=value&foo=bar" "Fragment: fragment"

Пример

Разберем URL без схемы и посмотрим, что вернет функция:

package main import ( "fmt" "net/url" ) func main() { u, err := url.Parse("example.com/path") if err != nil { fmt.Println(err) return } fmt.Println("Scheme:", u.Scheme) fmt.Println("Host:", u.Host) fmt.Println("Path:", u.Path) }

Результат выполнения кода:

"Scheme: " "Host: " "Path: example.com/path"

Пример

Обработаем ошибку при разборе некорректного URL:

package main import ( "fmt" "net/url" ) func main() { u, err := url.Parse("https://example.com:abc") if err != nil { fmt.Println(err) return } fmt.Println(u) }

Результат выполнения кода:

"parse https://example.com:abc: invalid port \":abc\" after host"

Смотрите также

  • функцию url.ParseRequestURI,
    которая разбирает URL с более строгими требованиями к формату
  • метод url.URL.String,
    который преобразует структуру URL обратно в строку
  • функцию url.Values.Get,
    которая получает значение параметра запроса по ключу
  • функцию url.PathEscape,
    которая кодирует строку для безопасного использования в пути URL
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить