Класс Uri
Класс Uri представляет собой унифицированный
идентификатор ресурса (URI) и используется для
работы с адресами веб-ресурсов, файловыми путями
и другими идентификаторами. С его помощью можно
разобрать строку адреса на составные части:
схему, хост, порт, путь, параметры запроса и
фрагмент. Также класс позволяет собирать URI
из отдельных компонентов и преобразовывать их
в строку.
Синтаксис
Uri(scheme: 'https', host: 'example.com', path: '/index.html')
Uri.parse('https://example.com/index.html')
Пример
Давайте создадим URI из отдельных компонентов и выведем его в виде строки:
void main()
{
Uri uri = Uri(
scheme: 'https',
host: 'example.com',
path: '/abcde',
query: 'a=1&b=2',
fragment: 'top'
);
print(uri);
}
Результат выполнения кода:
"https://example.com/abcde?a=1&b=2#top"
Пример
Давайте разберём строку адреса с помощью
метода parse и выведем отдельные
компоненты:
void main()
{
Uri uri = Uri.parse('https://example.com:8080/abcde?x=1#top');
print(uri.scheme);
print(uri.host);
print(uri.port);
print(uri.path);
print(uri.query);
print(uri.fragment);
}
Результат выполнения кода:
"https"
"example.com"
8080
"/abcde"
"x=1"
"top"
Пример
Давайте получим параметры запроса в виде
словаря с помощью свойства
queryParameters:
void main()
{
Uri uri = Uri.parse('https://example.com/abcde?a=1&b=2');
Map<String, String> params = uri.queryParameters;
print(params);
print(params['a']);
}
Результат выполнения кода:
{a: 1, b: 2}
"1"
Смотрите также
-
метод
parse,
который разбирает строку в URI -
метод
tryParse,
который безопасно разбирает строку в URI -
свойство
queryParameters,
которое возвращает параметры запроса -
метод
encodeComponent,
который кодирует компонент URI