Spec-Zone.ru › Dart 2

dart:core

Класс Uri

Разобранный URI, например URL.

Чтобы создать URI с определенными компонентами, используйте new Uri:

var httpsUri = Uri(
    scheme: 'https',
    host: 'dart.dev',
    path: '/guides/libraries/library-tour',
    fragment: 'numbers');
print(httpsUri); // https://dart.dev/guides/libraries/library-tour#numbers

httpsUri = Uri(
    scheme: 'https',
    host: 'example.com',
    path: '/page/',
    queryParameters: {'search': 'blue', 'limit': '10'});
print(httpsUri); // https://example.com/page/?search=blue&limit=10

final mailtoUri = Uri(
    scheme: 'mailto',
    path: 'John.Doe@example.com',
    queryParameters: {'subject': 'Example'});
print(mailtoUri); // mailto:John.Doe@example.com?subject=Example

URI HTTP и HTTPS

Чтобы создать URI со схемой https, используйте Uri.https или Uri.http:

final httpsUri = Uri.https('example.com', 'api/fetch', {'limit': '10'});
print(httpsUri); // https://example.com/api/fetch?limit=10

URI файла

Чтобы создать URI из пути к файлу, используйте Uri.file:

final fileUriUnix =
    Uri.file(r'/home/myself/images/image.png', windows: false);
print(fileUriUnix); // file:///home/myself/images/image.png

final fileUriWindows =
    Uri.file(r'C:\Users\myself\Documents\image.png', windows: true);
print(fileUriWindows); // file:///C:/Users/myself/Documents/image.png

Если URI не является URI файла, вызов этого метода приводит к исключению UnsupportedError.

URI каталога

Аналогичен Uri.file, за исключением того, что непустой путь URI заканчивается косой чертой.

final fileDirectory =
    Uri.directory('/home/myself/data/image', windows: false);
print(fileDirectory); // file:///home/myself/data/image/

final fileDirectoryWindows = Uri.directory('/data/images', windows: true);
print(fileDirectoryWindows); //  file:///data/images/

URI из строки

Чтобы создать URI из строки, используйте Uri.parse или Uri.tryParse:

final uri = Uri.parse(
    'https://dart.dev/guides/libraries/library-tour#utility-classes');
print(uri); // https://dart.dev
print(uri.isScheme('https')); // true
print(uri.origin); // https://dart.dev
print(uri.host); // dart.dev
print(uri.authority); // dart.dev
print(uri.port); // 443
print(uri.path); // guides/libraries/library-tour
print(uri.pathSegments); // [guides, libraries, library-tour]
print(uri.fragment); // utility-classes
print(uri.hasQuery); // false
print(uri.data); // null

См. также:

  • URI в обзоре библиотеки
  • RFC-3986
  • RFC-2396
  • RFC-2045

Конструкторы

Uri({String? scheme, String? userInfo, String? host, int? port, String? path, Iterable<String>? pathSegments, String? query, Map<String, dynamic>? queryParameters, String? fragment})
фабричный
Создает новый URI из его компонентов.
Uri.dataFromBytes(List<int> bytes, {String mimeType = "application/octet-stream", Map<String, String>? parameters, bool percentEncoded = false})
фабричный
Создает URI data:, содержащий закодированное представление bytes.
Uri.dataFromString(String content, {String? mimeType, Encoding? encoding, Map<String, String>? parameters, bool base64 = false})
фабричный
Создает URI data:, содержащий строку content.
Uri.directory(String path, {bool? windows})
фабричный
Аналогичен Uri.file, за исключением того, что непустой путь URI заканчивается косой чертой.
Uri.file(String path, {bool? windows})
фабричный
Создает новый URI файла из абсолютного или относительного пути к файлу.
Uri.http(String authority, [String unencodedPath, Map<String, dynamic>? queryParameters])
фабричный
Создает новый URI http из компонента authority, пути и строки запроса.
Uri.https(String authority, [String unencodedPath, Map<String, dynamic>? queryParameters])
фабричный
Создает новый URI https из компонента authority, пути и строки запроса.

Свойства

authority → String
только для чтения
Компонент authority.
data → UriData?
только для чтения
Доступ к структуре URI data:.
fragment → String
только для чтения
Компонент идентификатора фрагмента.
hasAbsolutePath → bool
только для чтения
Наличие у URI абсолютного пути (начинающегося с «/»).
hasAuthority → bool
только для чтения
Наличие у URI компонента authority.
hasEmptyPath → bool
только для чтения
Наличие у URI пустого пути.
hasFragment → bool
только для чтения
Наличие у URI части-фрагмента.
hashCode → int
только для чтенияпереопределен
Возвращает хеш-код, вычисленный как toString().hashCode.
hasPort → bool
только для чтения
Наличие у URI явно заданного порта.
hasQuery → bool
только для чтения
Наличие у URI части запроса.
hasScheme → bool
только для чтения
Наличие у URI компонента scheme.
host → String
только для чтения
Часть host компонента authority.
isAbsolute → bool
только для чтения
Является ли URI абсолютным.
origin → String
только для чтения
Возвращает origin URI в формате scheme://host:port для схем http и https.
path → String
только для чтения
Компонент пути.
pathSegments → List<String>
только для чтения
Путь URI, разделенный на сегменты.
port → int
только для чтения
Часть port компонента authority.
query → String
только для чтения
Компонент строки запроса.
queryParameters → Map<String, String>
только для чтения
Строка запроса URI, разделенная на карту согласно правилам отправки FORM, указанным в разделе 17.13.4 спецификации HTML 4.01.
queryParametersAll → Map<String, List<String>>
только для чтения
Возвращает строку запроса URI, разделенную на карту согласно правилам отправки FORM, указанным в разделе 17.13.4 спецификации HTML 4.01.
runtimeType → Type
только для чтенияунаследовано
Представление типа объекта во время выполнения.
scheme → String
только для чтения
Компонент scheme URI.
userInfo → String
только для чтения
Часть user info компонента authority.

Методы

isScheme(String scheme) → bool
Совпадает ли схема этого Uri с scheme.
normalizePath() → Uri
Возвращает URI с нормализованным путем.
noSuchMethod(Invocation invocation) → dynamic
унаследовано
Вызывается при обращении к несуществующему методу или свойству.
removeFragment() → Uri
Создает Uri, отличающийся от текущего только отсутствием фрагмента.
replace({String? scheme, String? userInfo, String? host, int? port, String? path, Iterable<String>? pathSegments, String? query, Map<String, dynamic>? queryParameters, String? fragment}) → Uri
Создает новый Uri на основе текущего, заменяя некоторые его части.
resolve(String reference) → Uri
Разрешает reference как URI относительно this.
resolveUri(Uri reference) → Uri
Разрешает reference как URI относительно this.
toFilePath({bool? windows}) → String
Создает путь к файлу из URI файла.
toString() → String
переопределен
Нормализованное строковое представление URI.

Операторы

operator ==(Object other) → bool
переопределен
URI равен другому URI с таким же нормализованным представлением.

Статические свойства

base → Uri
только для чтения
Естественный базовый URI для текущей платформы.

Статические методы

decodeComponent(String encodedComponent) → String
Декодирует процентное кодирование в encodedComponent.
decodeFull(String uri) → String
Декодирует процентное кодирование в uri.
decodeQueryComponent(String encodedComponent, {Encoding encoding = utf8}) → String
Декодирует процентное кодирование в encodedComponent, заменяя плюсы пробелами.
encodeComponent(String component) → String
Кодирует строку component с помощью процентного кодирования, чтобы ее можно было безопасно использовать как буквальное значение компонента URI.
encodeFull(String uri) → String
Кодирует строку uri с помощью процентного кодирования, чтобы ее можно было безопасно использовать как буквальное значение полного URI.
encodeQueryComponent(String component, {Encoding encoding = utf8}) → String
Кодирует строку component согласно правилам HTML 4.01 для кодирования данных HTML-формы, отправляемых в виде компонента строки запроса.
parse(String uri, [int start = 0, int? end]) → Uri
Создает новый объект Uri, разбирая строку URI.
parseIPv4Address(String host) → List<int>
Разбирает host как адрес IP версии 4 (IPv4) и возвращает адрес в виде списка из 4 байтов в сетевом порядке байтов (от старшего к младшему).
parseIPv6Address(String host, [int start = 0, int? end]) → List<int>
Разбирает host как адрес IP версии 6 (IPv6).
splitQueryString(String query, {Encoding encoding = utf8}) → Map<String, String>
Разбивает query на карту согласно правилам отправки FORM, указанным в разделе 17.13.4 спецификации HTML 4.01.
tryParse(String uri, [int start = 0, int? end]) → Uri?
Создает новый объект Uri, разбирая строку URI.

© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.19.6/dart-core/Uri-class.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API