Freigeben über


CUrl-Klasse

Diese Klasse stellt eine URL dar. Sie können jedes Element der URL unabhängig von den anderen bearbeiten, unabhängig davon, ob eine vorhandene URL-Zeichenfolge analysiert oder eine Zeichenfolge von Grund auf neu erstellt wird.

Wichtig

Diese Klasse und ihre Member können nicht in Anwendungen verwendet werden, die in der Windows-Runtime ausgeführt werden.

Syntax

class CUrl

Member

Öffentliche Konstruktoren

Name Beschreibung
CUrl::CUrl Der Konstruktor.
CUrl::~CUrl Der Destruktor.

Öffentliche Methoden

Name Beschreibung
CUrl::Canonicalize Rufen Sie diese Methode auf, um die URL-Zeichenfolge in kanonische Form zu konvertieren.
CUrl::Clear Rufen Sie diese Methode auf, um alle URL-Felder zu löschen.
CUrl::CrackUrl Rufen Sie diese Methode auf, um die URL zu decodieren und zu analysieren.
CUrl::CreateUrl Rufen Sie diese Methode auf, um die URL zu erstellen.
CUrl::GetExtraInfo Rufen Sie diese Methode auf, um zusätzliche Informationen (z. B. Text oder #-Text) aus der URL abzurufen.
CUrl::GetExtraInfoLength Rufen Sie diese Methode auf, um die Länge der zusätzlichen Informationen (z. B. Text oder #-Text) abzurufen, um von der URL abzurufen.
CUrl::GetHostName Rufen Sie diese Methode auf, um den Hostnamen aus der URL abzurufen.
CUrl::GetHostNameLength Rufen Sie diese Methode auf, um die Länge des Hostnamens abzurufen.
CUrl::GetPassword Rufen Sie diese Methode auf, um das Kennwort von der URL abzurufen.
CUrl::GetPasswordLength Rufen Sie diese Methode auf, um die Länge des Kennworts abzurufen.
CUrl::GetPortNumber Rufen Sie diese Methode auf, um die Portnummer in Bezug auf ATL_URL_PORT abzurufen.
CUrl::GetScheme Rufen Sie diese Methode auf, um das URL-Schema abzurufen.
CUrl::GetSchemeName Rufen Sie diese Methode auf, um den URL-Schemanamen abzurufen.
CUrl::GetSchemeNameLength Rufen Sie diese Methode auf, um die Länge des URL-Schemanamens abzurufen.
CUrl::GetUrlLength Rufen Sie diese Methode auf, um die URL-Länge abzurufen.
CUrl::GetUrlPath Rufen Sie diese Methode auf, um den URL-Pfad abzurufen.
CUrl::GetUrlPathLength Rufen Sie diese Methode auf, um die LÄNGE des URL-Pfads abzurufen.
CUrl::GetUserName Rufen Sie diese Methode auf, um den Benutzernamen aus der URL abzurufen.
CUrl::GetUserNameLength Rufen Sie diese Methode auf, um die Länge des Benutzernamens abzurufen.
CUrl::SetExtraInfo Rufen Sie diese Methode auf, um die zusätzlichen Informationen (z. B. Text oder #-Text) der URL festzulegen.
CUrl::SetHostName Rufen Sie diese Methode auf, um den Hostnamen festzulegen.
CUrl::SetPassword Rufen Sie diese Methode auf, um das Kennwort festzulegen.
CUrl::SetPortNumber Rufen Sie diese Methode auf, um die Portnummer in Bezug auf ATL_URL_PORT festzulegen.
CUrl::SetScheme Rufen Sie diese Methode auf, um das URL-Schema festzulegen.
CUrl::SetSchemeName Rufen Sie diese Methode auf, um den URL-Schemanamen festzulegen.
CUrl::SetUrlPath Rufen Sie diese Methode auf, um den URL-Pfad festzulegen.
CUrl::SetUserName Rufen Sie diese Methode auf, um den Benutzernamen festzulegen.

Öffentliche Operatoren

Name Beschreibung
CUrl::operator = Weist das angegebene CUrl Objekt dem aktuellen CUrl Objekt zu.

Hinweise

CUrl ermöglicht es Ihnen, die Felder einer URL zu bearbeiten, z. B. den Pfad oder die Portnummer. CUrl versteht URLs des folgenden Formulars:

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

(Einige Felder sind optional.) Betrachten Sie z. B. diese URL:

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

CUrl::CrackUrl analysiert sie wie folgt:

  • Schema: "http" oder ATL_URL_SCHEME_HTTP

  • Benutzername: "jemand"

  • Kennwort: "geheim"

  • HostName: "www.microsoft.com"

  • PortNummer: 80

  • UrlPath: "visualc/stuff.htm"

  • ExtraInfo: "#contents"

Zum Bearbeiten des UrlPath-Felds (beispielsweise) verwenden Sie GetUrlPath, GetUrlPathLength und SetUrlPath. Sie würden CreateUrl verwenden, um die vollständige URL-Zeichenfolge zu erstellen.

Anforderungen

Header: atlutil.h

CUrl::Canonicalize

Rufen Sie diese Methode auf, um die URL-Zeichenfolge in kanonische Form zu konvertieren.

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

Parameter

dwFlags
Die Kennzeichen, die die Kanonisierung steuern. Wenn keine Flags angegeben werden (dwFlags = 0), konvertiert die Methode alle unsicheren Zeichen und Metasequenzen (z. B. \.,\ .., und \...) in Escapesequenzen. dwFlags kann einer der folgenden Werte sein:

  • ATL_URL_BROWSER_MODE: Codiert oder decodiert keine Zeichen nach "#" oder "" und entfernt nach "" keine nachfolgende Leerzeichen nach "". Wenn dieser Wert nicht angegeben ist, wird die gesamte URL codiert und nachfolgende Leerzeichen entfernt.

  • ATL_URL _DECODE: Konvertiert alle %XX-Sequenzen in Zeichen, einschließlich Escapesequenzen, bevor die URL analysiert wird.

  • ATL_URL _ENCODE_PERCENT: Codiert alle aufgetretenen Prozentzeichen. Standardmäßig werden Prozentzeichen nicht codiert.

  • ATL_URL _ENCODE_SPACES_ONLY: Codiert nur Leerzeichen.

  • ATL_URL _NO_ENCODE: Wandelt unsichere Zeichen nicht in Escapesequenzen um.

  • ATL_URL _NO_META: Entfernt keine Metasequenzen (z. B. "." und "..") aus der URL.

Rückgabewert

Gibt WAHR für Erfolg, FALSE bei Fehler zurück.

Hinweise

Das Konvertieren in kanonische Form umfasst das Konvertieren unsicherer Zeichen und Leerzeichen in Escapesequenzen.

CUrl::Clear

Rufen Sie diese Methode auf, um alle URL-Felder zu löschen.

inline void Clear() throw();

CUrl::CrackUrl

Rufen Sie diese Methode auf, um die URL zu decodieren und zu analysieren.

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

Parameter

lpszUrl
Die URL.

dwFlags
Geben Sie ATL_URL_DECODE oder ATL_URL_ESCAPE an, um alle Escapezeichen in lpszUrl nach der Analyse in ihre realen Werte zu konvertieren. (Vor Visual C++ 2005 ATL_URL_DECODE alle Escapezeichen vor der Analyse konvertiert.)

Rückgabewert

Gibt WAHR für Erfolg, FALSE bei Fehler zurück.

CUrl::CreateUrl

Diese Methode erstellt eine URL-Zeichenfolge aus den Komponentenfeldern eines CUrl-Objekts.

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

Parameter

lpszUrl
Ein Zeichenfolgenpuffer, der die vollständige URL-Zeichenfolge enthält.

pdwMaxLength
Die maximale Länge des lpszUrl-Zeichenfolgenpuffers .

dwFlags
Geben Sie ATL_URL_ESCAPE an, um alle Escapezeichen in lpszUrl in ihre realen Werte zu konvertieren.

Rückgabewert

Gibt WAHR für Erfolg, FALSE bei Fehler zurück.

Hinweise

Diese Methode fügt die einzelnen Felder an, um die vollständige URL-Zeichenfolge mit dem folgenden Format zu erstellen:

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

Beim Aufrufen dieser Methode sollte der parameter pdwMaxLength zunächst die maximale Länge des Zeichenfolgenpuffers enthalten, auf den der lpszUrl-Parameter verweist. Der Wert des pdwMaxLength-Parameters wird mit der tatsächlichen Länge der URL-Zeichenfolge aktualisiert.

Beispiel

In diesem Beispiel wird die Erstellung eines CUrl-Objekts und das Abrufen der URL-Zeichenfolge veranschaulicht.

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

Der Konstruktor.

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

Parameter

urlThat
Das CUrl zu kopierende Objekt, um die URL zu erstellen.

CUrl::~CUrl

Der Destruktor.

~CUrl() throw();

CUrl::GetExtraInfo

Rufen Sie diese Methode auf, um zusätzliche Informationen (z. B. Text oder #-Text) aus der URL abzurufen.

inline LPCTSTR GetExtraInfo() const throw();

Rückgabewert

Gibt eine Zeichenfolge zurück, die die zusätzlichen Informationen enthält.

CUrl::GetExtraInfoLength

Rufen Sie diese Methode auf, um die Länge der zusätzlichen Informationen (z. B. Text oder #-Text) abzurufen, um von der URL abzurufen.

inline DWORD GetExtraInfoLength() const throw();

Rückgabewert

Gibt die Länge der Zeichenfolge zurück, die die zusätzlichen Informationen enthält.

CUrl::GetHostName

Rufen Sie diese Methode auf, um den Hostnamen aus der URL abzurufen.

inline LPCTSTR GetHostName() const throw();

Rückgabewert

Gibt den Hostnamen zurück.

CUrl::GetHostNameLength

Rufen Sie diese Methode auf, um die Länge des Hostnamens abzurufen.

inline DWORD GetHostNameLength() const throw();

Rückgabewert

Gibt die Länge des Hostnamens zurück.

CUrl::GetPassword

Rufen Sie diese Methode auf, um das Kennwort von der URL abzurufen.

inline LPCTSTR GetPassword() const throw();

Rückgabewert

Gibt das Kennwort zurück.

CUrl::GetPasswordLength

Rufen Sie diese Methode auf, um die Länge des Kennworts abzurufen.

inline DWORD GetPasswordLength() const throw();

Rückgabewert

Gibt die Kennwortlänge zurück.

CUrl::GetPortNumber

Rufen Sie diese Methode auf, um die Portnummer abzurufen.

inline ATL_URL_PORT GetPortNumber() const throw();

Rückgabewert

Gibt die Portnummer zurück.

CUrl::GetScheme

Rufen Sie diese Methode auf, um das URL-Schema abzurufen.

inline ATL_URL_SCHEME GetScheme() const throw();

Rückgabewert

Gibt den ATL_URL_SCHEME Wert zurück, der das Schema der URL beschreibt.

CUrl::GetSchemeName

Rufen Sie diese Methode auf, um den URL-Schemanamen abzurufen.

inline LPCTSTR GetSchemeName() const throw();

Rückgabewert

Gibt den URL-Schemanamen (z. B. "http" oder "ftp") zurück.

CUrl::GetSchemeNameLength

Rufen Sie diese Methode auf, um die Länge des URL-Schemanamens abzurufen.

inline DWORD GetSchemeNameLength() const throw();

Rückgabewert

Gibt die Länge des URL-Schemanamens zurück.

CUrl::GetUrlLength

Rufen Sie diese Methode auf, um die URL-Länge abzurufen.

inline DWORD GetUrlLength() const throw();

Rückgabewert

Gibt die URL-Länge zurück.

CUrl::GetUrlPath

Rufen Sie diese Methode auf, um den URL-Pfad abzurufen.

inline LPCTSTR GetUrlPath() const throw();

Rückgabewert

Gibt den URL-Pfad zurück.

CUrl::GetUrlPathLength

Rufen Sie diese Methode auf, um die LÄNGE des URL-Pfads abzurufen.

inline DWORD GetUrlPathLength() const throw();

Rückgabewert

Gibt die URL-Pfadlänge zurück.

CUrl::GetUserName

Rufen Sie diese Methode auf, um den Benutzernamen aus der URL abzurufen.

inline LPCTSTR GetUserName() const throw();

Rückgabewert

Gibt den Benutzernamen zurück.

CUrl::GetUserNameLength

Rufen Sie diese Methode auf, um die Länge des Benutzernamens abzurufen.

inline DWORD GetUserNameLength() const throw();

Rückgabewert

Gibt die Länge des Benutzernamens zurück.

CUrl::operator =

Weist das angegebene CUrl Objekt dem aktuellen CUrl Objekt zu.

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

Parameter

urlThat
Das CUrl Objekt, das in das aktuelle Objekt kopiert werden soll.

Rückgabewert

Gibt einen Verweis auf das aktuelle -Objekt zurück.

CUrl::SetExtraInfo

Rufen Sie diese Methode auf, um die zusätzlichen Informationen (z. B. Text oder #-Text) der URL festzulegen.

inline BOOL SetExtraInfo(LPCTSTR lpszInfo) throw();

Parameter

lpszInfo
Die Zeichenfolge, die die zusätzlichen Informationen enthält, die in die URL eingeschlossen werden sollen.

Rückgabewert

Gibt WAHR für Erfolg, FALSE bei Fehler zurück.

CUrl::SetHostName

Rufen Sie diese Methode auf, um den Hostnamen festzulegen.

inline BOOL SetHostName(LPCTSTR lpszHost) throw();

Parameter

lpszHost
Der Hostname.

Rückgabewert

Gibt WAHR für Erfolg, FALSE bei Fehler zurück.

CUrl::SetPassword

Rufen Sie diese Methode auf, um das Kennwort festzulegen.

inline BOOL SetPassword(LPCTSTR lpszPass) throw();

Parameter

lpszPass
Das Kennwort.

Rückgabewert

Gibt WAHR für Erfolg, FALSE bei Fehler zurück.

CUrl::SetPortNumber

Rufen Sie diese Methode auf, um die Portnummer festzulegen.

inline BOOL SetPortNumber(ATL_URL_PORT nPrt) throw();

Parameter

nPrt
Die Portnummer.

Rückgabewert

Gibt WAHR für Erfolg, FALSE bei Fehler zurück.

CUrl::SetScheme

Rufen Sie diese Methode auf, um das URL-Schema festzulegen.

inline BOOL SetScheme(ATL_URL_SCHEME nScheme) throw();

Parameter

nScheme
Einer der ATL_URL_SCHEME Werte für das Schema.

Rückgabewert

Gibt WAHR für Erfolg, FALSE bei Fehler zurück.

Hinweise

Sie können das Schema auch anhand des Namens festlegen (siehe CUrl::SetSchemeName).

CUrl::SetSchemeName

Rufen Sie diese Methode auf, um den URL-Schemanamen festzulegen.

inline BOOL SetSchemeName(LPCTSTR lpszSchm) throw();

Parameter

lpszSchm
Der URL-Schemaname.

Rückgabewert

Gibt WAHR für Erfolg, FALSE bei Fehler zurück.

Hinweise

Sie können das Schema auch mithilfe einer ATL_URL_SCHEME Konstante festlegen (siehe CUrl::SetScheme).

CUrl::SetUrlPath

Rufen Sie diese Methode auf, um den URL-Pfad festzulegen.

inline BOOL SetUrlPath(LPCTSTR lpszPath) throw();

Parameter

lpszPath
Der URL-Pfad.

Rückgabewert

Gibt WAHR für Erfolg, FALSE bei Fehler zurück.

CUrl::SetUserName

Rufen Sie diese Methode auf, um den Benutzernamen festzulegen.

inline BOOL SetUserName(LPCTSTR lpszUser) throw();

Parameter

lpszUser
Der Benutzername.

Rückgabewert

Gibt WAHR für Erfolg, FALSE bei Fehler zurück.

Siehe auch

Klassen