Klasa CUrl
Ta klasa reprezentuje adres URL. Umożliwia ona manipulowanie każdym elementem adresu URL niezależnie od innych, niezależnie od tego, czy analizowanie istniejącego ciągu adresu URL lub tworzenie ciągu od podstaw.
Ważne
Tej klasy i jej składowych nie można używać w aplikacjach wykonywanych w środowisko wykonawcze systemu Windows.
Składnia
class CUrl
Elementy członkowskie
Konstruktory publiczne
Nazwa/nazwisko | opis |
---|---|
CUrl::CUrl | Konstruktor. |
CUrl::~CUrl | Destruktora. |
Metody publiczne
Nazwa/nazwisko | opis |
---|---|
CUrl::Canonicalize | Wywołaj tę metodę, aby przekonwertować ciąg adresu URL na postać kanoniczną. |
CUrl::Clear | Wywołaj tę metodę, aby wyczyścić wszystkie pola adresu URL. |
CUrl::CrackUrl | Wywołaj tę metodę, aby zdekodować i przeanalizować adres URL. |
CUrl::CreateUrl | Wywołaj tę metodę, aby utworzyć adres URL. |
CUrl::GetExtraInfo | Wywołaj tę metodę, aby uzyskać dodatkowe informacje (takie jak tekst lub # tekst) z adresu URL. |
CUrl::GetExtraInfoLength | Wywołaj tę metodę, aby uzyskać długość dodatkowych informacji (takich jak tekst lub # tekst), które mają być pobierane z adresu URL. |
CUrl::GetHostName | Wywołaj tę metodę, aby uzyskać nazwę hosta z adresu URL. |
CUrl::GetHostNameLength | Wywołaj tę metodę, aby uzyskać długość nazwy hosta. |
CUrl::GetPassword | Wywołaj tę metodę, aby pobrać hasło z adresu URL. |
CUrl::GetPasswordLength | Wywołaj tę metodę, aby uzyskać długość hasła. |
CUrl::GetPortNumber | Wywołaj tę metodę, aby uzyskać numer portu pod względem ATL_URL_PORT. |
CUrl::GetScheme | Wywołaj tę metodę, aby uzyskać schemat adresów URL. |
CUrl::GetSchemeName | Wywołaj tę metodę, aby uzyskać nazwę schematu adresów URL. |
CUrl::GetSchemeNameLength | Wywołaj tę metodę, aby uzyskać długość nazwy schematu adresu URL. |
CUrl::GetUrlLength | Wywołaj tę metodę, aby uzyskać długość adresu URL. |
CUrl::GetUrlPath | Wywołaj tę metodę, aby uzyskać ścieżkę adresu URL. |
CUrl::GetUrlPathLength | Wywołaj tę metodę, aby uzyskać długość ścieżki adresu URL. |
CUrl::GetUserName | Wywołaj tę metodę, aby uzyskać nazwę użytkownika z adresu URL. |
CUrl::GetUserNameLength | Wywołaj tę metodę, aby uzyskać długość nazwy użytkownika. |
CUrl::SetExtraInfo | Wywołaj tę metodę, aby ustawić dodatkowe informacje (takie jak tekst lub # tekst) adresu URL. |
CUrl::SetHostName | Wywołaj tę metodę, aby ustawić nazwę hosta. |
CUrl::SetPassword | Wywołaj tę metodę, aby ustawić hasło. |
CUrl::SetPortNumber | Wywołaj tę metodę, aby ustawić numer portu pod względem ATL_URL_PORT. |
CUrl::SetScheme | Wywołaj tę metodę, aby ustawić schemat adresów URL. |
CUrl::SetSchemeName | Wywołaj tę metodę, aby ustawić nazwę schematu adresów URL. |
CUrl::SetUrlPath | Wywołaj tę metodę, aby ustawić ścieżkę adresu URL. |
CUrl::SetUserName | Wywołaj tę metodę, aby ustawić nazwę użytkownika. |
Operatory publiczne
Nazwa/nazwisko | opis |
---|---|
CUrl::operator = | Przypisuje określony CUrl obiekt do bieżącego CUrl obiektu. |
Uwagi
CUrl
Umożliwia manipulowanie polami adresu URL, takimi jak ścieżka lub numer portu. CUrl
Rozumie adresy URL następującej formy:
<Scheme>://<UserName>:<Password>@<HostName>:<PortNumber>/<UrlPath><ExtraInfo>
(Niektóre pola są opcjonalne). Rozważmy na przykład następujący adres URL:
http://someone:secret@www.microsoft.com:80/visualc/stuff.htm#contents
CUrl::CrackUrl analizuje go w następujący sposób:
Schemat: "http" lub ATL_URL_SCHEME_HTTP
UserName: "ktoś"
Hasło: "wpis tajny"
Nazwa hosta: "
www.microsoft.com
"Numer portu: 80
UrlPath: "visualc/stuff.htm"
ExtraInfo: "#contents"
Aby manipulować polem UrlPath (na przykład), należy użyć polecenia GetUrlPath, GetUrlPathLength i SetUrlPath. Użyj polecenia CreateUrl , aby utworzyć pełny ciąg adresu URL.
Wymagania
Nagłówek: atlutil.h
CUrl::Canonicalize
Wywołaj tę metodę, aby przekonwertować ciąg adresu URL na postać kanoniczną.
inline BOOL Canonicalize(DWORD dwFlags = 0) throw();
Parametry
dwFlags
Flagi kontrolujące kanonizację. Jeśli nie określono żadnych flag (dwFlags = 0), metoda konwertuje wszystkie niebezpieczne znaki i sekwencje meta (takie jak \.,\ .., i \...) na sekwencje ucieczki. DwFlags może być jedną z następujących wartości:
ATL_URL_BROWSER_MODE: nie koduje ani nie dekoduje znaków po znaku "#" lub "" i nie usuwa końcowego odstępu po znaku "". Jeśli ta wartość nie zostanie określona, cały adres URL zostanie zakodowany i usunięto końcowy biały znak.
ATL_URL _DECODE: konwertuje wszystkie sekwencje %XX na znaki, w tym sekwencje ucieczki, zanim adres URL zostanie przeanalizowany.
ATL_URL _ENCODE_PERCENT: Koduje wszelkie napotkane znaki procentowe. Domyślnie znaki procentowe nie są kodowane.
ATL_URL _ENCODE_SPACES_ONLY: koduje tylko spacje.
ATL_URL _NO_ENCODE: nie konwertuje niebezpiecznych znaków na sekwencje ucieczki.
ATL_URL _NO_META: nie usuwa sekwencji meta (takich jak "." i "..") z adresu URL.
Wartość zwracana
Zwraca wartość TRUE w przypadku powodzenia, FALSE w przypadku niepowodzenia.
Uwagi
Konwertowanie na postać kanoniczną obejmuje konwertowanie niebezpiecznych znaków i spacji na sekwencje ucieczki.
CUrl::Clear
Wywołaj tę metodę, aby wyczyścić wszystkie pola adresu URL.
inline void Clear() throw();
CUrl::CrackUrl
Wywołaj tę metodę, aby zdekodować i przeanalizować adres URL.
BOOL CrackUrl(LPCTSTR lpszUrl, DWORD dwFlags = 0) throw();
Parametry
lpszUrl
Adres URL.
dwFlags
Określ ATL_URL_DECODE lub ATL_URL_ESCAPE, aby przekonwertować wszystkie znaki ucieczki w lpszUrl na ich rzeczywiste wartości po przeanalizowaniu. (Przed programem Visual C++ 2005 ATL_URL_DECODE przekonwertować wszystkie znaki ucieczki przed przeanalizowaniem).
Wartość zwracana
Zwraca wartość TRUE w przypadku powodzenia, FALSE w przypadku niepowodzenia.
CUrl::CreateUrl
Ta metoda tworzy ciąg adresu URL z pól składników obiektu CUrl.
inline BOOL CreateUrl(
LPTSTR lpszUrl,
DWORD* pdwMaxLength,
DWORD dwFlags = 0) const throw();
Parametry
lpszUrl
Bufor ciągu do przechowywania pełnego ciągu adresu URL.
pdwMaxLength
Maksymalna długość buforu ciągu lpszUrl .
dwFlags
Określ ATL_URL_ESCAPE, aby przekonwertować wszystkie znaki ucieczki w lpszUrl na ich rzeczywiste wartości.
Wartość zwracana
Zwraca wartość TRUE w przypadku powodzenia, FALSE w przypadku niepowodzenia.
Uwagi
Ta metoda dołącza poszczególne pola w celu skonstruowania kompletnego ciągu adresu URL przy użyciu następującego formatu:
<scheme>://<user>:pass>@<domain>:<<port><path><extra>
Podczas wywoływania tej metody parametr pdwMaxLength powinien początkowo zawierać maksymalną długość buforu ciągu, do których odwołuje się parametr lpszUrl . Wartość parametru pdwMaxLength zostanie zaktualizowana o rzeczywistą długość ciągu adresu URL.
Przykład
W tym przykładzie pokazano tworzenie obiektu CUrl i pobieranie jego ciągu adresu 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
Konstruktor.
CUrl() throw();
CUrl(const CUrl& urlThat) throw();
Parametry
urlThat
Obiekt CUrl
do skopiowania w celu utworzenia adresu URL.
CUrl::~CUrl
Destruktora.
~CUrl() throw();
CUrl::GetExtraInfo
Wywołaj tę metodę, aby uzyskać dodatkowe informacje (takie jak tekst lub # tekst) z adresu URL.
inline LPCTSTR GetExtraInfo() const throw();
Wartość zwracana
Zwraca ciąg zawierający dodatkowe informacje.
CUrl::GetExtraInfoLength
Wywołaj tę metodę, aby uzyskać długość dodatkowych informacji (takich jak tekst lub # tekst), które mają być pobierane z adresu URL.
inline DWORD GetExtraInfoLength() const throw();
Wartość zwracana
Zwraca długość ciągu zawierającego dodatkowe informacje.
CUrl::GetHostName
Wywołaj tę metodę, aby uzyskać nazwę hosta z adresu URL.
inline LPCTSTR GetHostName() const throw();
Wartość zwracana
Zwraca nazwę hosta.
CUrl::GetHostNameLength
Wywołaj tę metodę, aby uzyskać długość nazwy hosta.
inline DWORD GetHostNameLength() const throw();
Wartość zwracana
Zwraca długość nazwy hosta.
CUrl::GetPassword
Wywołaj tę metodę, aby pobrać hasło z adresu URL.
inline LPCTSTR GetPassword() const throw();
Wartość zwracana
Zwraca hasło.
CUrl::GetPasswordLength
Wywołaj tę metodę, aby uzyskać długość hasła.
inline DWORD GetPasswordLength() const throw();
Wartość zwracana
Zwraca długość hasła.
CUrl::GetPortNumber
Wywołaj tę metodę, aby uzyskać numer portu.
inline ATL_URL_PORT GetPortNumber() const throw();
Wartość zwracana
Zwraca numer portu.
CUrl::GetScheme
Wywołaj tę metodę, aby uzyskać schemat adresów URL.
inline ATL_URL_SCHEME GetScheme() const throw();
Wartość zwracana
Zwraca wartość ATL_URL_SCHEME opisującą schemat adresu URL.
CUrl::GetSchemeName
Wywołaj tę metodę, aby uzyskać nazwę schematu adresów URL.
inline LPCTSTR GetSchemeName() const throw();
Wartość zwracana
Zwraca nazwę schematu adresu URL (np. "http" lub "ftp").
CUrl::GetSchemeNameLength
Wywołaj tę metodę, aby uzyskać długość nazwy schematu adresu URL.
inline DWORD GetSchemeNameLength() const throw();
Wartość zwracana
Zwraca długość nazwy schematu adresu URL.
CUrl::GetUrlLength
Wywołaj tę metodę, aby uzyskać długość adresu URL.
inline DWORD GetUrlLength() const throw();
Wartość zwracana
Zwraca długość adresu URL.
CUrl::GetUrlPath
Wywołaj tę metodę, aby uzyskać ścieżkę adresu URL.
inline LPCTSTR GetUrlPath() const throw();
Wartość zwracana
Zwraca ścieżkę adresu URL.
CUrl::GetUrlPathLength
Wywołaj tę metodę, aby uzyskać długość ścieżki adresu URL.
inline DWORD GetUrlPathLength() const throw();
Wartość zwracana
Zwraca długość ścieżki adresu URL.
CUrl::GetUserName
Wywołaj tę metodę, aby uzyskać nazwę użytkownika z adresu URL.
inline LPCTSTR GetUserName() const throw();
Wartość zwracana
Zwraca nazwę użytkownika.
CUrl::GetUserNameLength
Wywołaj tę metodę, aby uzyskać długość nazwy użytkownika.
inline DWORD GetUserNameLength() const throw();
Wartość zwracana
Zwraca długość nazwy użytkownika.
CUrl::operator =
Przypisuje określony CUrl
obiekt do bieżącego CUrl
obiektu.
CUrl& operator= (const CUrl& urlThat) throw();
Parametry
urlThat
Obiekt CUrl
do skopiowania do bieżącego obiektu.
Wartość zwracana
Zwraca odwołanie do bieżącego obiektu.
CUrl::SetExtraInfo
Wywołaj tę metodę, aby ustawić dodatkowe informacje (takie jak tekst lub # tekst) adresu URL.
inline BOOL SetExtraInfo(LPCTSTR lpszInfo) throw();
Parametry
lpszInfo
Ciąg zawierający dodatkowe informacje do uwzględnienia w adresie URL.
Wartość zwracana
Zwraca wartość TRUE w przypadku powodzenia, FALSE w przypadku niepowodzenia.
CUrl::SetHostName
Wywołaj tę metodę, aby ustawić nazwę hosta.
inline BOOL SetHostName(LPCTSTR lpszHost) throw();
Parametry
lpszHost
Nazwa hosta.
Wartość zwracana
Zwraca wartość TRUE w przypadku powodzenia, FALSE w przypadku niepowodzenia.
CUrl::SetPassword
Wywołaj tę metodę, aby ustawić hasło.
inline BOOL SetPassword(LPCTSTR lpszPass) throw();
Parametry
lpszPass
Hasło.
Wartość zwracana
Zwraca wartość TRUE w przypadku powodzenia, FALSE w przypadku niepowodzenia.
CUrl::SetPortNumber
Wywołaj tę metodę, aby ustawić numer portu.
inline BOOL SetPortNumber(ATL_URL_PORT nPrt) throw();
Parametry
nPrt
Numer portu.
Wartość zwracana
Zwraca wartość TRUE w przypadku powodzenia, FALSE w przypadku niepowodzenia.
CUrl::SetScheme
Wywołaj tę metodę, aby ustawić schemat adresów URL.
inline BOOL SetScheme(ATL_URL_SCHEME nScheme) throw();
Parametry
nScheme
Jedna z ATL_URL_SCHEME wartości schematu.
Wartość zwracana
Zwraca wartość TRUE w przypadku powodzenia, FALSE w przypadku niepowodzenia.
Uwagi
Schemat można również ustawić według nazwy (zobacz CUrl::SetSchemeName).
CUrl::SetSchemeName
Wywołaj tę metodę, aby ustawić nazwę schematu adresów URL.
inline BOOL SetSchemeName(LPCTSTR lpszSchm) throw();
Parametry
lpszSchm
Nazwa schematu adresów URL.
Wartość zwracana
Zwraca wartość TRUE w przypadku powodzenia, FALSE w przypadku niepowodzenia.
Uwagi
Schemat można również ustawić przy użyciu stałej ATL_URL_SCHEME (zobacz CUrl::SetScheme).
CUrl::SetUrlPath
Wywołaj tę metodę, aby ustawić ścieżkę adresu URL.
inline BOOL SetUrlPath(LPCTSTR lpszPath) throw();
Parametry
lpszPath
Ścieżka adresu URL.
Wartość zwracana
Zwraca wartość TRUE w przypadku powodzenia, FALSE w przypadku niepowodzenia.
CUrl::SetUserName
Wywołaj tę metodę, aby ustawić nazwę użytkownika.
inline BOOL SetUserName(LPCTSTR lpszUser) throw();
Parametry
lpszUser
Nazwa użytkownika.
Wartość zwracana
Zwraca wartość TRUE w przypadku powodzenia, FALSE w przypadku niepowodzenia.