Класс System::Uri

Uri class

Унифицированный идентификатор ресурса. Объекты этого класса должны создаваться только с помощью функции System::MakeObject(). Никогда не создавайте экземпляр этого типа в стеке или с помощью оператора new, так как это приведёт к ошибкам выполнения и/или сбоям утверждений. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.

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Возвращает международное доменное имя хоста.
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 доступен через протокол передачи файлов (File Transfer Protocol).
static UriSchemeGopherУказывает, что Uri доступен через протокол Gopher.
static UriSchemeHttpУказывает, что Uri доступен через протокол гипертекстовой передачи (Hypertext Transfer Protocol).
static UriSchemeHttpsУказывает, что Uri доступен через защищённый протокол гипертекстовой передачи (Secure Hypertext Transfer Protocol).
static UriSchemeMailtoУказывает, что Uri является адресом электронной почты и доступен через простой протокол передачи почты (Simple Mail Transport Protocol).
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
*/

См. также