Класс System::Uri

Uri class

Унифицированный идентификатор ресурса. Объекты этого класса должны создаваться только с помощью функции System::MakeObject(). Никогда не создавайте экземпляр этого типа в стеке или с помощью оператора new, так как это приведёт к ошибкам выполнения и/или сбоям утверждений. Всегда оборачивайте этот класс в указатель System::SmartPtr и используйте этот указатель для передачи его в функции в качестве аргумента.

class Uri : public System::Object

Методы

МетодОписание
static CheckHostName(String)Определяет тип указанного имени хоста.
static CheckSchemeName(const String&)Определяет, действительна ли указанная схема.
static Compare(const SharedPtr<Uri>&, const SharedPtr<Uri>&, UriComponents, UriFormat, StringComparison)Сравнивает указанные объекты Uri с использованием заданных правил сравнения.
Equals(SharedPtr<Object>) overrideОпределяет, равны ли URI, представленные текущим и указанным объектами.
static EscapeDataString(const String&)Преобразует строку в её экранированное представление.
static EscapeUriString(const String&)Преобразует строку URI в её экранированное представление.
static FromHex(char16_t)Получает десятичное значение шестнадцатеричной цифры.
get_AbsolutePath() constВозвращает абсолютный путь URI.
get_AbsoluteUri() constВозвращает абсолютный URI.
get_Authority() constВозвращает имя хоста и номер порта для сервера.
get_DnsSafeHost() constВозвращает незакодированное имя хоста.
get_Fragment() constВозвращает закодированный фрагмент URI.
get_Host() constВозвращает имя хоста.
get_HostNameType() constВозвращает тип имени хоста.
get_IdnHost() constВозвращает международное доменное имя (IDN) хоста.
get_IsAbsoluteUri() constОпределяет, является ли URI, представленный текущим объектом, абсолютным.
get_IsDefaultPort() constОпределяет, имеет ли URI, представленный текущим объектом, порт по умолчанию для схемы URI.
get_IsFile() constОпределяет, является ли URI, представленный текущим объектом, файлом.
get_IsLoopback() constОпределяет, ссылается ли URI, представленный текущим объектом, на локальный хост.
get_IsUnc() constОпределяет, является ли URI, представленный текущим объектом, UNC‑путём.
get_LocalPath() constВозвращает представление имени файла, на которое ссылается URI, представленный текущим объектом, в виде строки операционной системы.
get_OriginalString() constВозвращает строку URI, переданную конструктору при создании текущего объекта.
get_PathAndQuery() constВозвращает абсолютный путь и компоненты запроса URI, представленного текущим объектом, разделённые вопросительным знаком (?).
get_Port() constВозвращает номер порта URI, представленного текущим объектом.
get_Query() constВозвращает информацию запроса, включённую в URI, представленный текущим объектом.
get_Scheme() constВозвращает схему URI, представленного текущим объектом.
get_Segments() constВозвращает массив строк, содержащих сегменты пути URI, представленного текущим объектом.
get_UserEscaped() constОпределяет, была ли строка URI, переданная конструктору текущего объекта, полностью экранирована.
get_UserInfo() constВозвращает имя пользователя, пароль и другую пользовательскую информацию, связанную с URI, представленного текущим объектом.
GetComponents(UriComponents, UriFormat) constВозвращает указанные компоненты URI, представленного текущим объектом, с использованием указанного экранирования.
GetHashCode() const overrideПолучает хеш‑код для URI.
GetLeftPart(UriPartial)Возвращает указанную часть URI, представленного текущим объектом.
static HexEscape(char16_t)Возвращает шестнадцатеричный эквивалент указанного символа.
static HexUnescape(const String&, int32_t&)Преобразует указанное шестнадцатеричное представление символа в символ.
IsBaseOf(const SharedPtr<Uri>&) constОпределяет, является ли URI, представленный текущим объектом Uri, базовым URI, представляемым указанным объектом Uri.
static IsHexDigit(char16_t)Определяет, представляет ли указанный символ допустимую шестнадцатеричную цифру.
static IsHexEncoding(const String&, int32_t)Определяет, закодирован ли символ в указанной строке на указанной позиции в шестнадцатеричном виде.
IsWellFormedOriginalString() constУказывает, является ли строка, использованная для создания этого Uri, корректно сформированной и не требует дальнейшего экранирования.
static IsWellFormedUriString(const String&, UriKind)Определяет, является ли указанная строка корректно сформированным URI.
MakeRelative(const SharedPtr<Uri>&)Определяет разницу между двумя экземплярами Uri.
MakeRelativeUri(const SharedPtr<Uri>&)Определяет разницу между URI, представленными текущим и указанным объектами Uri.
ToString() const overrideВозвращает строковое представление URI, представленного текущим объектом.
static TryCreate(const String&, UriKind, SharedPtr<Uri>&)Создаёт объект Uri, представляющий указанный URI; аргумент определяет тип URI.
static TryCreate(const SharedPtr<Uri>&, const String&, SharedPtr<Uri>&)Создаёт объект Uri из указанного объекта Uri, представляющего базовый URI, и строкового представления относительного URI.
static TryCreate(const SharedPtr<Uri>&, const SharedPtr<Uri>&, SharedPtr<Uri>&)Создаёт объект Uri из указанных базового и относительного URI.
static UnescapeDataString(const String&)Удаляет экранирование из указанной экранированной строки.
Uri(const String&)Создаёт объект Uri, представляющий указанный URI.
Uri(const String&, bool)Создаёт объект Uri, представляющий указанный URI; аргумент определяет, следует ли экранировать URI.
Uri(const SharedPtr<Uri>&, const String&, bool)Создаёт объект Uri из указанного объекта Uri, представляющего базовый URI, и строкового представления относительного URI; аргумент определяет, следует ли экранировать URI.
Uri(const String&, UriKind)Создаёт объект Uri, представляющий указанный URI; аргумент определяет тип URI.
Uri(const SharedPtr<Uri>&, const String&)Создаёт объект Uri из указанных базового и относительного URI.
Uri(const SharedPtr<Uri>&, const SharedPtr<Uri>&)Создаёт объект Uri из указанных базового и относительного URI.

Поля

ПолеОписание
static SchemeDelimiterУказывает символы, разделяющие схему коммуникационного протокола и часть адреса Uri.
static UriSchemeFileУказывает, что Uri является указателем на файл.
static UriSchemeFtpУказывает, что Uri доступен через протокол передачи файлов (FTP).
static UriSchemeGopherУказывает, что Uri доступен через протокол Gopher.
static UriSchemeHttpУказывает, что Uri доступен через протокол гипертекстовой передачи (HTTP).
static UriSchemeHttpsУказывает, что Uri доступен через защищённый протокол гипертекстовой передачи (HTTPS).
static UriSchemeMailtoУказывает, что Uri является адресом электронной почты и доступен через простой протокол передачи почты (SMTP).
static UriSchemeNetPipeУказывает, что Uri доступен через схему NetPipe, используемую в Windows Communication Foundation.
static UriSchemeNetTcpУказывает, что Uri доступен через схему NetTcp, используемую в Windows Communication Foundation.
static UriSchemeNewsУказывает, что Uri является интернет‑новостной группой и доступен через протокол Network News Transport Protocol.
static UriSchemeNntpУказывает, что Uri является интернет‑новостной группой и доступен через протокол Network News Transport Protocol.

Примечания

#include "system/smart_ptr.h"
#include "system/uri.h"
#include <iostream>

int main()
{
  const auto uri = System::MakeObject<System::Uri>(u"https://docs.codeporting.com/translator/cs2cpp/release-notes/2021/codeporting-translator-cs2cpp-21-9/");

std::cout <<
  "AbsolutePath: " << uri->get_AbsolutePath() << std::endl <<
  "AbsoluteUri: " << uri->get_AbsoluteUri() << std::endl <<
  "Authority: " << uri->get_Authority() << std::endl <<
  "DnsSafeHost: " << uri->get_DnsSafeHost() << std::endl <<
  "Fragment: " << uri->get_Fragment() << std::endl <<
  "Host: " << uri->get_Host() << std::endl <<
  "IdnHost: " << uri->get_IdnHost() << std::endl <<
  "LocalPath: " << uri->get_LocalPath() << std::endl <<
  "OriginalString: " << uri->get_OriginalString() << std::endl <<
  "PathAndQuery: " << uri->get_PathAndQuery() << std::endl <<
  "Port: " << uri->get_Port() << std::endl <<
  "Query: " << uri->get_Query() << std::endl <<
  "Scheme: " << uri->get_Scheme() << std::endl;

  return 0;
}
/*
This code example produces the following output:
AbsolutePath: /translator/cs2cpp/release-notes/2021/codeporting-translator-cs2cpp-21-9/
AbsoluteUri: https://docs.codeporting.com/translator/cs2cpp/release-notes/2021/codeporting-translator-cs2cpp-21-9/
Authority: docs.codeporting.com
DnsSafeHost: docs.codeporting.com
Fragment:
Host: docs.codeporting.com
IdnHost: docs.codeporting.com
LocalPath: /translator/cs2cpp/release-notes/2021/codeporting-translator-cs2cpp-21-9/
OriginalString: https://docs.codeporting.com/translator/cs2cpp/release-notes/2021/codeporting-translator-cs2cpp-21-9/
PathAndQuery: /translator/cs2cpp/release-notes/2021/codeporting-translator-cs2cpp-21-9/
Port: 443
Query:
Scheme: https
*/

См. также