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.