다음을 통해 공유


CUrl 클래스

이 클래스는 URL을 나타냅니다. 기존 URL 문자열을 구문 분석하든 처음부터 문자열을 작성하든 관계없이 URL의 각 요소를 다른 요소와 독립적으로 조작할 수 있습니다.

Important

이 클래스와 해당 멤버는 Windows 런타임에서 실행되는 애플리케이션에서 사용할 수 없습니다.

구문

class CUrl

멤버

공용 생성자

속성 설명
CUrl::CUrl 생성자입니다.
CUrl::~CUrl 소멸자입니다.

공용 메서드

이름 설명
CUrl::Canonicalize URL 문자열을 정식 형식으로 변환하려면 이 메서드를 호출합니다.
CUrl::Clear 모든 URL 필드를 지우려면 이 메서드를 호출합니다.
CUrl::CrackUrl URL을 디코딩하고 구문 분석하려면 이 메서드를 호출합니다.
CUrl::CreateUrl URL을 만들려면 이 메서드를 호출합니다.
CUrl::GetExtraInfo URL에서 추가 정보(예: 텍스트 또는 # 텍스트)를 얻으려면 이 메서드를 호출합니다.
CUrl::GetExtraInfoLength URL에서 검색할 추가 정보(예: 텍스트 또는 # 텍스트)의 길이를 얻으려면 이 메서드를 호출합니다.
CUrl::GetHostName URL에서 호스트 이름을 얻으려면 이 메서드를 호출합니다.
CUrl::GetHostNameLength 호스트 이름의 길이를 얻으려면 이 메서드를 호출합니다.
CUrl::GetPassword URL에서 암호를 얻으려면 이 메서드를 호출합니다.
CUrl::GetPasswordLength 암호의 길이를 얻으려면 이 메서드를 호출합니다.
CUrl::GetPortNumber 이 메서드를 호출하여 ATL_URL_PORT 측면에서 포트 번호를 가져옵니다.
CUrl::GetScheme URL 구성표를 얻으려면 이 메서드를 호출합니다.
CUrl::GetSchemeName URL 구성표 이름을 얻으려면 이 메서드를 호출합니다.
CUrl::GetSchemeNameLength URL 구성표 이름의 길이를 얻으려면 이 메서드를 호출합니다.
CUrl::GetUrlLength URL 길이를 얻으려면 이 메서드를 호출합니다.
CUrl::GetUrlPath 이 메서드를 호출하여 URL 경로를 가져옵니다.
CUrl::GetUrlPathLength URL 경로 길이를 얻으려면 이 메서드를 호출합니다.
CUrl::GetUserName URL에서 사용자 이름을 얻으려면 이 메서드를 호출합니다.
CUrl::GetUserNameLength 이 메서드를 호출하여 사용자 이름의 길이를 가져옵니다.
CUrl::SetExtraInfo URL의 추가 정보(예: 텍스트 또는 # 텍스트)를 설정하려면 이 메서드를 호출합니다.
CUrl::SetHostName 호스트 이름을 설정하려면 이 메서드를 호출합니다.
CUrl::SetPassword 암호를 설정하려면 이 메서드를 호출합니다.
CUrl::SetPortNumber ATL_URL_PORT 측면에서 포트 번호를 설정하려면 이 메서드를 호출합니다.
CUrl::SetScheme URL 구성표를 설정하려면 이 메서드를 호출합니다.
CUrl::SetSchemeName URL 체계 이름을 설정하려면 이 메서드를 호출합니다.
CUrl::SetUrlPath URL 경로를 설정하려면 이 메서드를 호출합니다.
CUrl::SetUserName 이 메서드를 호출하여 사용자 이름을 설정합니다.

Public 연산자

속성 설명
CUrl::operator = 지정된 CUrl 개체를 현재 CUrl 개체에 할당합니다.

설명

CUrl 를 사용하면 경로 또는 포트 번호와 같은 URL 필드를 조작할 수 있습니다. CUrl 는 다음 형식의 URL을 이해합니다.

<Scheme>://<UserName>:<Password>@<HostName>:<PortNumber>/<UrlPath><ExtraInfo>

(일부 필드는 선택 사항입니다.) 예를 들어 다음 URL을 고려합니다.

http://someone:secret@www.microsoft.com:80/visualc/stuff.htm#contents

CUrl::CrackUrl 은 다음과 같이 구문 분석합니다.

  • 체계: "http" 또는 ATL_URL_SCHEME_HTTP

  • UserName: "Someone"

  • 암호: "비밀"

  • HostName: "www.microsoft.com"

  • 포트넘버: 80

  • UrlPath: "visualc/stuff.htm"

  • ExtraInfo: "#contents"

예를 들어 UrlPath 필드를 조작하려면 GetUrlPath, GetUrlPathLengthSetUrlPath를 사용합니다. CreateUrl을 사용하여 전체 URL 문자열을 만듭니다.

요구 사항

헤더: atlutil.h

CUrl::Canonicalize

URL 문자열을 정식 형식으로 변환하려면 이 메서드를 호출합니다.

inline BOOL Canonicalize(DWORD dwFlags = 0) throw();

매개 변수

dwFlags
정식화를 제어하는 플래그입니다. 플래그가 지정되지 않은 경우(dwFlags = 0) 메서드는 안전하지 않은 모든 문자와 메타 시퀀스(예: \.,\ .., \...)를 이스케이프 시퀀스로 변환합니다. dwFlags는 다음 값 중 하나일 수 있습니다.

  • ATL_URL_BROWSER_MODE: "#" 또는 "" 뒤에 있는 문자를 인코딩하거나 디코딩하지 않으며 "" 뒤에 있는 공백을 제거하지 않습니다. 이 값을 지정하지 않으면 전체 URL이 인코딩되고 후행 공백이 제거됩니다.

  • ATL_URL _DECODE: URL을 구문 분석하기 전에 모든 %XX 시퀀스를 이스케이프 시퀀스를 포함한 문자로 변환합니다.

  • ATL_URL _ENCODE_PERCENT: 발견된 백분율 기호를 인코딩합니다. 기본적으로 백분율 기호는 인코딩되지 않습니다.

  • ATL_URL _ENCODE_SPACES_ONLY: 공백만 인코딩합니다.

  • ATL_URL _NO_ENCODE: 안전하지 않은 문자를 이스케이프 시퀀스로 변환하지 않습니다.

  • ATL_URL _NO_META: URL에서 메타 시퀀스(예: "." 및 "..")를 제거하지 않습니다.

Return Value

성공하면 TRUE를 반환하고 실패하면 FALSE를 반환합니다.

설명

정식 형식으로 변환하려면 안전하지 않은 문자와 공백을 이스케이프 시퀀스로 변환해야 합니다.

CUrl::Clear

모든 URL 필드를 지우려면 이 메서드를 호출합니다.

inline void Clear() throw();

CUrl::CrackUrl

URL을 디코딩하고 구문 분석하려면 이 메서드를 호출합니다.

BOOL CrackUrl(LPCTSTR lpszUrl, DWORD dwFlags = 0) throw();

매개 변수

lpszUrl
URL입니다.

dwFlags
구문 분석 후 lpszUrl모든 이스케이프 문자를 실제 값으로 변환하려면 ATL_URL_DECODE 또는 ATL_URL_ESCAPE 지정합니다. (Visual C++ 2005 이전에는 구문 분석하기 전에 모든 이스케이프 문자를 변환하지 ATL_URL_DECODE.

Return Value

성공하면 TRUE를 반환하고 실패하면 FALSE를 반환합니다.

CUrl::CreateUrl

이 메서드는 CUrl 개체의 구성 요소 필드에서 URL 문자열을 생성합니다.

inline BOOL CreateUrl(
    LPTSTR lpszUrl,
    DWORD* pdwMaxLength,
    DWORD dwFlags = 0) const throw();

매개 변수

lpszUrl
전체 URL 문자열을 저장할 문자열 버퍼입니다.

pdwMaxLength
lpszUrl 문자열 버퍼의 최대 길이입니다.

dwFlags
lpszUrl모든 이스케이프 문자를 실제 값으로 변환하려면 ATL_URL_ESCAPE 지정합니다.

Return Value

성공하면 TRUE를 반환하고 실패하면 FALSE를 반환합니다.

설명

이 메서드는 다음 형식을 사용하여 전체 URL 문자열을 생성하기 위해 개별 필드를 추가합니다.

<scheme>://<user>:<pass>@<domain>:<port><path><extra>

이 메서드를 호출할 때 pdwMaxLength 매개 변수는 처음에 lpszUrl 매개 변수에서 참조하는 문자열 버퍼의 최대 길이를 포함해야 합니다. pdwMaxLength 매개 변수의 값은 URL 문자열의 실제 길이로 업데이트됩니다.

예시

이 샘플에서는 CUrl 개체를 만들고 해당 URL 문자열을 검색하는 방법을 보여 줍니다.

CUrl url;

// Set the CUrl contents
url.CrackUrl(_T("http://someone:secret@www.microsoft.com:8080/visualc/stuff.htm#contents"));

// Obtain the length of the URL string and allocate a buffer to 
// hold its contents
DWORD dwUrlLen = url.GetUrlLength() + 1;
TCHAR* szUrl = new TCHAR[dwUrlLen];

// Retrieve the contents of the CUrl object
url.CreateUrl(szUrl, &dwUrlLen, 0L);

// Cleanup
delete[] szUrl;   

CUrl::CUrl

생성자입니다.

CUrl() throw();
CUrl(const CUrl& urlThat) throw();

매개 변수

urlThat
CUrl URL을 만들기 위해 복사할 개체입니다.

CUrl::~CUrl

소멸자입니다.

~CUrl() throw();

CUrl::GetExtraInfo

URL에서 추가 정보(예: 텍스트 또는 # 텍스트)를 얻으려면 이 메서드를 호출합니다.

inline LPCTSTR GetExtraInfo() const throw();

Return Value

추가 정보가 포함된 문자열을 반환합니다.

CUrl::GetExtraInfoLength

URL에서 검색할 추가 정보(예: 텍스트 또는 # 텍스트)의 길이를 얻으려면 이 메서드를 호출합니다.

inline DWORD GetExtraInfoLength() const throw();

Return Value

추가 정보를 포함하는 문자열의 길이를 반환합니다.

CUrl::GetHostName

URL에서 호스트 이름을 얻으려면 이 메서드를 호출합니다.

inline LPCTSTR GetHostName() const throw();

Return Value

호스트 이름을 반환합니다.

CUrl::GetHostNameLength

호스트 이름의 길이를 얻으려면 이 메서드를 호출합니다.

inline DWORD GetHostNameLength() const throw();

Return Value

호스트 이름 길이를 반환합니다.

CUrl::GetPassword

URL에서 암호를 얻으려면 이 메서드를 호출합니다.

inline LPCTSTR GetPassword() const throw();

Return Value

암호를 반환합니다.

CUrl::GetPasswordLength

암호의 길이를 얻으려면 이 메서드를 호출합니다.

inline DWORD GetPasswordLength() const throw();

Return Value

암호 길이를 반환합니다.

CUrl::GetPortNumber

이 메서드를 호출하여 포트 번호를 가져옵니다.

inline ATL_URL_PORT GetPortNumber() const throw();

Return Value

포트 번호를 반환합니다.

CUrl::GetScheme

URL 구성표를 얻으려면 이 메서드를 호출합니다.

inline ATL_URL_SCHEME GetScheme() const throw();

Return Value

URL의 체계를 설명하는 ATL_URL_SCHEME 값을 반환합니다.

CUrl::GetSchemeName

URL 구성표 이름을 얻으려면 이 메서드를 호출합니다.

inline LPCTSTR GetSchemeName() const throw();

Return Value

URL 체계 이름(예: "http" 또는 "ftp")을 반환합니다.

CUrl::GetSchemeNameLength

URL 구성표 이름의 길이를 얻으려면 이 메서드를 호출합니다.

inline DWORD GetSchemeNameLength() const throw();

Return Value

URL 체계 이름 길이를 반환합니다.

CUrl::GetUrlLength

URL 길이를 얻으려면 이 메서드를 호출합니다.

inline DWORD GetUrlLength() const throw();

Return Value

URL 길이를 반환합니다.

CUrl::GetUrlPath

이 메서드를 호출하여 URL 경로를 가져옵니다.

inline LPCTSTR GetUrlPath() const throw();

Return Value

URL 경로를 반환합니다.

CUrl::GetUrlPathLength

URL 경로 길이를 얻으려면 이 메서드를 호출합니다.

inline DWORD GetUrlPathLength() const throw();

Return Value

URL 경로 길이를 반환합니다.

CUrl::GetUserName

URL에서 사용자 이름을 얻으려면 이 메서드를 호출합니다.

inline LPCTSTR GetUserName() const throw();

Return Value

사용자 이름을 반환합니다.

CUrl::GetUserNameLength

이 메서드를 호출하여 사용자 이름의 길이를 가져옵니다.

inline DWORD GetUserNameLength() const throw();

Return Value

사용자 이름 길이를 반환합니다.

CUrl::operator =

지정된 CUrl 개체를 현재 CUrl 개체에 할당합니다.

CUrl& operator= (const CUrl& urlThat) throw();

매개 변수

urlThat
CUrl 현재 개체에 복사할 개체입니다.

Return Value

현재 개체에 대한 참조를 반환합니다.

CUrl::SetExtraInfo

URL의 추가 정보(예: 텍스트 또는 # 텍스트)를 설정하려면 이 메서드를 호출합니다.

inline BOOL SetExtraInfo(LPCTSTR lpszInfo) throw();

매개 변수

lpszInfo
URL에 포함할 추가 정보가 포함된 문자열입니다.

Return Value

성공하면 TRUE를 반환하고 실패하면 FALSE를 반환합니다.

CUrl::SetHostName

호스트 이름을 설정하려면 이 메서드를 호출합니다.

inline BOOL SetHostName(LPCTSTR lpszHost) throw();

매개 변수

lpszHost
호스트 이름입니다.

Return Value

성공하면 TRUE를 반환하고 실패하면 FALSE를 반환합니다.

CUrl::SetPassword

암호를 설정하려면 이 메서드를 호출합니다.

inline BOOL SetPassword(LPCTSTR lpszPass) throw();

매개 변수

lpszPass
암호입니다.

Return Value

성공하면 TRUE를 반환하고 실패하면 FALSE를 반환합니다.

CUrl::SetPortNumber

포트 번호를 설정하려면 이 메서드를 호출합니다.

inline BOOL SetPortNumber(ATL_URL_PORT nPrt) throw();

매개 변수

nPrt
포트 번호.

Return Value

성공하면 TRUE를 반환하고 실패하면 FALSE를 반환합니다.

CUrl::SetScheme

URL 구성표를 설정하려면 이 메서드를 호출합니다.

inline BOOL SetScheme(ATL_URL_SCHEME nScheme) throw();

매개 변수

nScheme
스키마에 대한 ATL_URL_SCHEME 값 중 하나입니다.

Return Value

성공하면 TRUE를 반환하고 실패하면 FALSE를 반환합니다.

설명

이름별로 체계를 설정할 수도 있습니다(CUrl::SetSchemeName 참조).

CUrl::SetSchemeName

URL 체계 이름을 설정하려면 이 메서드를 호출합니다.

inline BOOL SetSchemeName(LPCTSTR lpszSchm) throw();

매개 변수

lpszSchm
URL 체계 이름입니다.

Return Value

성공하면 TRUE를 반환하고 실패하면 FALSE를 반환합니다.

설명

ATL_URL_SCHEME 상수(CUrl::SetScheme 참조)를 사용하여 체계를 설정할 수도 있습니다.

CUrl::SetUrlPath

URL 경로를 설정하려면 이 메서드를 호출합니다.

inline BOOL SetUrlPath(LPCTSTR lpszPath) throw();

매개 변수

lpszPath
URL 경로입니다.

Return Value

성공하면 TRUE를 반환하고 실패하면 FALSE를 반환합니다.

CUrl::SetUserName

이 메서드를 호출하여 사용자 이름을 설정합니다.

inline BOOL SetUserName(LPCTSTR lpszUser) throw();

매개 변수

lpszUser
사용자 이름입니다.

Return Value

성공하면 TRUE를 반환하고 실패하면 FALSE를 반환합니다.

참고 항목

클래스