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, GetUrlPathLength 및 SetUrlPath를 사용합니다. 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를 반환합니다.