System::Uri 클래스

Uri class

통합 자원 식별자. 이 클래스의 객체는 System::MakeObject() 함수를 사용하여만 할당해야 합니다. 스택에 직접 생성하거나 operator 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)16진수 자리의 십진수 값을 가져옵니다.
get_AbsolutePath() constURI의 절대 경로를 반환합니다.
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가 해당 스킴의 기본 포트를 가지고 있는지 여부를 판단합니다.
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 overrideURI의 해시 코드를 가져옵니다.
GetLeftPart(UriPartial)현재 객체가 나타내는 URI의 지정된 부분을 반환합니다.
static HexEscape(char16_t)지정된 문자의 16진수 등가값을 반환합니다.
static HexUnescape(const String&, int32_t&)지정된 문자의 16진수 표현을 문자로 변환합니다.
IsBaseOf(const SharedPtr<Uri>&) const현재 Uri 객체가 나타내는 URI가 지정된 Uri 객체가 나타내는 URI의 기반인지 여부를 판단합니다.
static IsHexDigit(char16_t)지정된 문자가 유효한 16진수 숫자인지 여부를 판단합니다.
static IsHexEncoding(const String&, int32_t)지정된 문자열의 지정된 위치에 있는 문자가 16진수로 인코딩되어 있는지 여부를 판단합니다.
IsWellFormedOriginalString() constUri를 구성하는 데 사용된 문자열이 올바르게 형성되었는지 여부를 나타내며 추가로 이스케이프할 필요가 없습니다.
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 abject를 생성합니다.
static TryCreate(const SharedPtr<Uri>&, const SharedPtr<Uri>&, SharedPtr<Uri>&)지정된 기본 URI와 상대 URI를 사용하여 Uri abject를 생성합니다.
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 abject를 생성합니다; 인수는 URI를 이스케이프할지 여부를 지정합니다.
Uri(const String&, UriKind)지정된 URI를 나타내는 Uri 객체를 생성합니다; 인수는 URI 종류를 지정합니다.
Uri(const SharedPtr<Uri>&, const String&)지정된 기본 URI와 상대 URI를 사용하여 Uri abject를 생성합니다.
Uri(const SharedPtr<Uri>&, const SharedPtr<Uri>&)지정된 기본 URI와 상대 URI를 사용하여 Uri abject를 생성합니다.

필드

필드설명
static SchemeDelimiterUri의 주소 부분과 통신 프로토콜 스킴을 구분하는 문자를 지정합니다.
static UriSchemeFileUri이 파일을 가리키는 포인터임을 지정합니다.
static UriSchemeFtpUri이 파일 전송 프로토콜을 통해 액세스됨을 지정합니다.
static UriSchemeGopherUri이 Gopher 프로토콜을 통해 액세스됨을 지정합니다.
static UriSchemeHttpUri이 하이퍼텍스트 전송 프로토콜을 통해 액세스됨을 지정합니다.
static UriSchemeHttpsUri이 보안 하이퍼텍스트 전송 프로토콜을 통해 액세스됨을 지정합니다.
static UriSchemeMailtoUri이 이메일 주소이며 단순 메일 전송 프로토콜을 통해 액세스됨을 지정합니다.
static UriSchemeNetPipeUriWindows 통신 기반에서 사용하는 NetPipe 스킴을 통해 액세스됨을 지정합니다.
static UriSchemeNetTcpUriWindows 통신 기반에서 사용하는 NetTcp 스킴을 통해 액세스됨을 지정합니다.
static UriSchemeNewsUri이 인터넷 뉴스 그룹이며 네트워크 뉴스 전송 프로토콜을 통해 액세스됨을 지정합니다.
static UriSchemeNntpUri이 인터넷 뉴스 그룹이며 네트워크 뉴스 전송 프로토콜을 통해 액세스됨을 지정합니다.

비고

#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
*/

또 보기