Delen via


CUrl-klasse

Opmerking

De ATL (Active Template Library) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.

Deze klasse vertegenwoordigt een URL. Hiermee kunt u elk element van de URL onafhankelijk van de andere elementen bewerken, ongeacht of u een bestaande URL-tekenreeks parseert of een geheel nieuwe tekenreeks bouwt.

Belangrijk

Deze klasse en de bijbehorende leden kunnen niet worden gebruikt in toepassingen die worden uitgevoerd in Windows Runtime.

Syntaxis

class CUrl

Leden

Openbare constructors

Naam Description
CUrl::CUrl De constructor.
CUrl::~CUrl De destructor.

Openbare methoden

Naam Description
CUrl::Canonicalize Roep deze methode aan om de URL-tekenreeks te converteren naar canonieke vorm.
CUrl::Clear Roep deze methode aan om alle URL-velden te wissen.
CUrl::CrackUrl Roep deze methode aan om de URL te decoderen en te parseren.
CUrl::CreateUrl Roep deze methode aan om de URL te maken.
CUrl::GetExtraInfo Roep deze methode aan om extra informatie (zoals tekst of # -tekst) op te halen uit de URL.
CUrl::GetExtraInfoLength Roep deze methode aan om de lengte van de extra informatie (zoals tekst of # -tekst) op te halen uit de URL.
CUrl::GetHostName Roep deze methode aan om de hostnaam op te halen uit de URL.
CUrl::GetHostNameLength Roep deze methode aan om de lengte van de hostnaam op te halen.
CUrl::GetPassword Roep deze methode aan om het wachtwoord op te halen uit de URL.
CUrl::GetPasswordLength Roep deze methode aan om de lengte van het wachtwoord op te halen.
CUrl::GetPortNumber Roep deze methode aan om het poortnummer op te halen in termen van ATL_URL_PORT.
CUrl::GetScheme Roep deze methode aan om het URL-schema op te halen.
CUrl::GetSchemeName Roep deze methode aan om de naam van het URL-schema op te halen.
CUrl::GetSchemeNameLength Roep deze methode aan om de lengte van de URL-schemanaam op te halen.
CUrl::GetUrlLength Roep deze methode aan om de URL-lengte op te halen.
CUrl::GetUrlPath Roep deze methode aan om het URL-pad op te halen.
CUrl::GetUrlPathLength Roep deze methode aan om de lengte van het URL-pad op te halen.
CUrl::GetUserName Roep deze methode aan om de gebruikersnaam op te halen uit de URL.
CUrl::GetUserNameLength Roep deze methode aan om de lengte van de gebruikersnaam op te halen.
CUrl::SetExtraInfo Roep deze methode aan om de extra informatie (zoals tekst of # -tekst) van de URL in te stellen.
CUrl::SetHostName Roep deze methode aan om de hostnaam in te stellen.
CUrl::SetPassword Roep deze methode aan om het wachtwoord in te stellen.
CUrl::SetPortNumber Roep deze methode aan om het poortnummer in te stellen in termen van ATL_URL_PORT.
CUrl::SetScheme Roep deze methode aan om het URL-schema in te stellen.
CUrl::SetSchemeName Roep deze methode aan om de naam van het URL-schema in te stellen.
CUrl::SetUrlPath Roep deze methode aan om het URL-pad in te stellen.
CUrl::SetUserName Roep deze methode aan om de gebruikersnaam in te stellen.

Openbare operators

Naam Description
CUrl::operator = Hiermee wijst u het opgegeven CUrl object toe aan het huidige CUrl object.

Opmerkingen

CUrl hiermee kunt u de velden van een URL bewerken, zoals het pad of het poortnummer. CUrl begrijpt URL's van het volgende formulier:

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

(Sommige velden zijn optioneel.) Denk bijvoorbeeld aan deze URL:

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

CUrl::CrackUrl parseert het als volgt:

  • Schema: http of ATL_URL_SCHEME_HTTP

  • Gebruikersnaam: 'iemand'

  • Wachtwoord: "geheim"

  • Hostnaam: "www.microsoft.com"

  • PortNumber: 80

  • UrlPath: "visualc/stuff.htm"

  • ExtraInfo: "#contents"

Als u het UrlPath-veld wilt bewerken (bijvoorbeeld), gebruikt u GetUrlPath, GetUrlPathLength en SetUrlPath. U gebruikt CreateUrl om de volledige URL-tekenreeks te maken.

Requirements

Header: atlutil.h

CUrl::Canonicalize

Roep deze methode aan om de URL-tekenreeks te converteren naar canonieke vorm.

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

Parameterwaarden

dwFlags
De vlaggen die canonicalisatie bepalen. Als er geen vlaggen zijn opgegeven (dwFlags = 0), converteert de methode alle onveilige tekens en metareeksen (zoals \.,\ .., en \...) naar escapereeksen. dwFlags kan een van de volgende waarden zijn:

  • ATL_URL_BROWSER_MODE: coderen of decoderen geen tekens na "#" of "" en verwijdert geen volgspaties na "". Als deze waarde niet is opgegeven, wordt de volledige URL gecodeerd en wordt de volgspaties verwijderd.

  • ATL_URL _DECODE: converteert alle %XX reeksen naar tekens, inclusief escapereeksen, voordat de URL wordt geparseerd.

  • ATL_URL _ENCODE_PERCENT: codeert eventuele procenttekens die zijn aangetroffen. Procenttekens worden standaard niet gecodeerd.

  • ATL_URL _ENCODE_SPACES_ONLY: codeert alleen spaties.

  • ATL_URL _NO_ENCODE: converteert geen onveilige tekens naar escapereeksen.

  • ATL_URL _NO_META: Verwijdert geen metareeksen (zoals '.' en '..') uit de URL.

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

Opmerkingen

Converteren naar canonieke vorm omvat het converteren van onveilige tekens en spaties naar escapereeksen.

CUrl::Clear

Roep deze methode aan om alle URL-velden te wissen.

inline void Clear() throw();

CUrl::CrackUrl

Roep deze methode aan om de URL te decoderen en te parseren.

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

Parameterwaarden

lpszUrl
De URL.

dwFlags
Geef ATL_URL_DECODE of ATL_URL_ESCAPE op om alle escapetekens in lpszUrl te converteren naar de werkelijke waarden na parseren. (Vóór Visual C++ 2005 ATL_URL_DECODE alle escape-tekens geconverteerd voordat ze worden geparsereerd.)

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

CUrl::CreateUrl

Met deze methode wordt een URL-tekenreeks samengesteld uit de componentvelden van een CUrl-object.

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

Parameterwaarden

lpszUrl
Een tekenreeksbuffer voor het opslaan van de volledige URL-tekenreeks.

pdwMaxLength
De maximale lengte van de lpszUrl-tekenreeksbuffer .

dwFlags
Geef ATL_URL_ESCAPE op om alle escapetekens in lpszUrl te converteren naar de werkelijke waarden.

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

Opmerkingen

Met deze methode worden de afzonderlijke velden toegevoegd om de volledige URL-tekenreeks te maken met behulp van de volgende indeling:

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

Bij het aanroepen van deze methode moet de parameter pdwMaxLength in eerste instantie de maximale lengte van de tekenreeksbuffer bevatten waarnaar wordt verwezen door de parameter lpszUrl . De waarde van de parameter pdwMaxLength wordt bijgewerkt met de werkelijke lengte van de URL-tekenreeks.

Example

In dit voorbeeld ziet u hoe u een CUrl-object maakt en de URL-tekenreeks opzoekt

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

De constructor.

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

Parameterwaarden

urlThat
Het CUrl object dat moet worden gekopieerd om de URL te maken.

CUrl::~CUrl

De destructor.

~CUrl() throw();

CUrl::GetExtraInfo

Roep deze methode aan om extra informatie (zoals tekst of # -tekst) op te halen uit de URL.

inline LPCTSTR GetExtraInfo() const throw();

Retourwaarde

Retourneert een tekenreeks met de extra informatie.

CUrl::GetExtraInfoLength

Roep deze methode aan om de lengte van de extra informatie (zoals tekst of # -tekst) op te halen uit de URL.

inline DWORD GetExtraInfoLength() const throw();

Retourwaarde

Retourneert de lengte van de tekenreeks die de extra informatie bevat.

CUrl::GetHostName

Roep deze methode aan om de hostnaam op te halen uit de URL.

inline LPCTSTR GetHostName() const throw();

Retourwaarde

Retourneert de hostnaam.

CUrl::GetHostNameLength

Roep deze methode aan om de lengte van de hostnaam op te halen.

inline DWORD GetHostNameLength() const throw();

Retourwaarde

Retourneert de lengte van de hostnaam.

CUrl::GetPassword

Roep deze methode aan om het wachtwoord op te halen uit de URL.

inline LPCTSTR GetPassword() const throw();

Retourwaarde

Retourneert het wachtwoord.

CUrl::GetPasswordLength

Roep deze methode aan om de lengte van het wachtwoord op te halen.

inline DWORD GetPasswordLength() const throw();

Retourwaarde

Retourneert de wachtwoordlengte.

CUrl::GetPortNumber

Roep deze methode aan om het poortnummer op te halen.

inline ATL_URL_PORT GetPortNumber() const throw();

Retourwaarde

Retourneert het poortnummer.

CUrl::GetScheme

Roep deze methode aan om het URL-schema op te halen.

inline ATL_URL_SCHEME GetScheme() const throw();

Retourwaarde

Retourneert de ATL_URL_SCHEME waarde die het schema van de URL beschrijft.

CUrl::GetSchemeName

Roep deze methode aan om de naam van het URL-schema op te halen.

inline LPCTSTR GetSchemeName() const throw();

Retourwaarde

Retourneert de naam van het URL-schema (zoals 'http' of 'ftp').

CUrl::GetSchemeNameLength

Roep deze methode aan om de lengte van de URL-schemanaam op te halen.

inline DWORD GetSchemeNameLength() const throw();

Retourwaarde

Retourneert de lengte van de URL-schemanaam.

CUrl::GetUrlLength

Roep deze methode aan om de URL-lengte op te halen.

inline DWORD GetUrlLength() const throw();

Retourwaarde

Retourneert de URL-lengte.

CUrl::GetUrlPath

Roep deze methode aan om het URL-pad op te halen.

inline LPCTSTR GetUrlPath() const throw();

Retourwaarde

Retourneert het URL-pad.

CUrl::GetUrlPathLength

Roep deze methode aan om de lengte van het URL-pad op te halen.

inline DWORD GetUrlPathLength() const throw();

Retourwaarde

Retourneert de lengte van het URL-pad.

CUrl::GetUserName

Roep deze methode aan om de gebruikersnaam op te halen uit de URL.

inline LPCTSTR GetUserName() const throw();

Retourwaarde

Retourneert de gebruikersnaam.

CUrl::GetUserNameLength

Roep deze methode aan om de lengte van de gebruikersnaam op te halen.

inline DWORD GetUserNameLength() const throw();

Retourwaarde

Retourneert de lengte van de gebruikersnaam.

CUrl::operator =

Hiermee wijst u het opgegeven CUrl object toe aan het huidige CUrl object.

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

Parameterwaarden

urlThat
Het CUrl object dat moet worden gekopieerd naar het huidige object.

Retourwaarde

Retourneert een verwijzing naar het huidige object.

CUrl::SetExtraInfo

Roep deze methode aan om de extra informatie (zoals tekst of # -tekst) van de URL in te stellen.

inline BOOL SetExtraInfo(LPCTSTR lpszInfo) throw();

Parameterwaarden

lpszInfo
De tekenreeks met de extra informatie die moet worden opgenomen in de URL.

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

CUrl::SetHostName

Roep deze methode aan om de hostnaam in te stellen.

inline BOOL SetHostName(LPCTSTR lpszHost) throw();

Parameterwaarden

lpszHost-
De hostnaam.

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

CUrl::SetPassword

Roep deze methode aan om het wachtwoord in te stellen.

inline BOOL SetPassword(LPCTSTR lpszPass) throw();

Parameterwaarden

lpszPass
Het wachtwoord.

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

CUrl::SetPortNumber

Roep deze methode aan om het poortnummer in te stellen.

inline BOOL SetPortNumber(ATL_URL_PORT nPrt) throw();

Parameterwaarden

nPrt
Het poortnummer.

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

CUrl::SetScheme

Roep deze methode aan om het URL-schema in te stellen.

inline BOOL SetScheme(ATL_URL_SCHEME nScheme) throw();

Parameterwaarden

nScheme
Een van de ATL_URL_SCHEME waarden voor het schema.

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

Opmerkingen

U kunt het schema ook instellen op naam (zie CUrl::SetSchemeName).

CUrl::SetSchemeName

Roep deze methode aan om de naam van het URL-schema in te stellen.

inline BOOL SetSchemeName(LPCTSTR lpszSchm) throw();

Parameterwaarden

lpszSchm
De naam van het URL-schema.

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

Opmerkingen

U kunt het schema ook instellen met behulp van een ATL_URL_SCHEME constante (zie CUrl::SetScheme).

CUrl::SetUrlPath

Roep deze methode aan om het URL-pad in te stellen.

inline BOOL SetUrlPath(LPCTSTR lpszPath) throw();

Parameterwaarden

lpszPath
Het URL-pad.

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

CUrl::SetUserName

Roep deze methode aan om de gebruikersnaam in te stellen.

inline BOOL SetUserName(LPCTSTR lpszUser) throw();

Parameterwaarden

lpszUser
De gebruikersnaam.

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

Zie ook

Klassen