Freigeben über


uri-Klasse

Eine flexible, protokollunabhängige URI-Implementierung. URI-Instanzen sind unveränderlich. Beim Abfragen der verschiedenen Felder auf einen leeren URI werden leere Zeichenfolgen zurückgegeben. Beim Abfragen verschiedener Diagnosemember auf einen leeren URI wird "false" zurückgegeben.

Warnung

Dieses Thema enthält Informationen für das C++ REST SDK 1.0 (Codename "Casablanca").Wenn Sie eine neuere Version von der Webseite "Codeplex Casablanca" verwenden, dann verwenden Sie die lokale Dokumentation unter http://casablanca.codeplex.com/documentation.

class uri;

Mitglieder

JJ948394.collapse_all(de-de,VS.140).gifÖffentliche Klassen

Name

Beschreibung

uri::components-Klasse

Die verschiedenen Komponenten eines URI. Diese Enumeration wird verwendet, um anzugeben, welche URI-Komponente in der "encode_uri_component" codiert ist. Dies ermöglicht eine spezifische Codierung. Schema und Port lassen '%' nicht zu und müssen daher nicht codiert werden.

JJ948394.collapse_all(de-de,VS.140).gifÖffentliche Konstruktoren

Name

Beschreibung

uri::uri-Konstruktor

Überladen. Erstellt einen leeren URI.

JJ948394.collapse_all(de-de,VS.140).gifÖffentliche Methoden

Name

Beschreibung

uri::authority-Methode

Erstellt ein neues URI-Objekt mit demselben authority-Teil wie bei diesem, wobei die resource- und query-Teile weggelassen werden.

uri::decode-Methode

Decodiert eine codierte Zeichenfolge.

uri::encode_data_string-Methode

Codiert eine Zeichenfolge durch Konvertieren aller Zeichen mit Ausnahme der gemäß RFC 3986 nicht reservierten Zeichen in die entsprechende hexadezimale Darstellung.

uri::encode_uri-Methode

Codiert eine URI-Komponente gemäß RFC 3986. Wenn ein vollständiger URI statt einer einzelnen URI-Komponente angegeben wird, werden alle Zeichen, die sich nicht im unreservierten Satz befinden, mit Escapezeichen versehen.

uri::fragment-Methode

Ruft die Fragmentkomponente des URI als codierte Zeichenfolge ab.

uri::has_same_authority-Methode

Gibt zurück, ob der andere URI dieselbe "authority" hat wie dieser.

uri::host-Methode

Ruft die Hostkomponente des URI als codierte Zeichenfolge ab.

uri::is_authority-Methode

Ein "authority"-URI ist ein URI mit einem Schema, einer optionalen Benutzerinfo, einem Hostnamen und einem (optionalen) Port.

uri::is_empty-Methode

Ein leerer URI gibt keine Komponenten an und dient als Standardwert.

uri::is_host_loopback-Methode

Ein Loopback-URI ist ein URI, der auf einen Hostnamen oder eine IP-Adresse verweist, der bzw. die nur auf dem lokalen Computer gültig ist.

uri::is_host_portable-Methode

Ein portabler URI ist ein URI mit einem Hostnamen, der global aufgelöst werden kann (auch auf einem anderen Computer).

uri::is_host_wildcard-Methode

Ein Platzhalter-URI ist ein URI, der auf alle Hostnamen verweist, die für den lokalen Computer gelten (verwendet wird * oder +).

uri::is_path_empty-Methode

Gibt zurück, ob der path-Teil dieses URI leer ist.

uri::is_port_default-Methode

uri::path-Methode

Ruft die Pfadkomponente des URI als codierte Zeichenfolge ab.

uri::port-Methode

Ruft die Portkomponente des URI ab. Gibt –1 zurück, wenn kein Port angegeben ist.

uri::query-Methode

Ruft die Abfragekomponente des URI als codierte Zeichenfolge ab.

uri::resource-Methode

Ruft den path-, query- und fragment-Teil dieses URI ab, der möglicherweise leer ist.

uri::scheme-Methode

Ruft die Schemakomponente des URI als codierte Zeichenfolge ab.

uri::split_path-Methode

Teilt einen Pfad in seine hierarchischen Komponenten auf.

uri::split_query-Methode

Teilt eine Abfrage in ihre Schlüssel/Wert-Komponenten auf.

uri::to_string-Methode

Gibt den vollständigen (codierten) URI als Zeichenfolge zurück.

uri::user_info-Methode

Ruft die Benutzerinformationskomponente des URI als codierte Zeichenfolge ab.

uri::validate-Methode

Überprüft eine Zeichenfolge als URI.

JJ948394.collapse_all(de-de,VS.140).gifÖffentliche Operatoren

Name

Beschreibung

uri::operator!=-Operator

uri::operator<-Operator

uri::operator==-Operator

Hinweise

Diese Implementierung akzeptiert URIs ('https://msn.com/path') und relative URI-Verweise ('/path?query#frag'). Diese Implementierung bietet keine schemaspezifische Verarbeitung – ein Beispiel hierfür wäre 'http://path1/path'. Dies ist ein gültiger URI, aber kein gültiger HTTP-URI – d h., er ist syntaktisch korrekt, entspricht jedoch nicht den Anforderungen des HTTP-Schemas (http erfordert einen Host). Wir könnten dies ermöglichen, indem wir eine austauschbare 'Schema'-Richtlinienklasse bereitstellen, die zusätzliche Funktionen zum Überprüfen und Kanonisieren eines URI entsprechend dem Schema bereitstellen würde und die eine Typsicherheit für URIs unterschiedlicher Schemas und somit unterschiedlicher Semantiken bieten würde. Ein Problem beim Implementieren einer schemaunabhängigen URI-Funktion ist jedoch die Prüfung auf Gleichheit. Zum Beispiel gelten diese URIs als gleich: 'https://msn.com', 'https://msn.com:80'. Der 'standardmäßige' Port kann also entweder weggelassen oder genannt werden. Da wir keine Möglichkeit haben, ein Schema seinem Standardport zuzuordnen, haben wir auch keine Möglichkeit zu wissen, ob sie gleich sind. Dies ist nur ein Problem beim schemaspezifischen Verhalten.

Anforderungen

Header: base_uri.h

Namespace: web::http

Siehe auch

Referenz

web::http-Namespace