Udostępnij za pośrednictwem


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.

Zobacz też

Klasy