Uri Classe

Définition

Fournit une représentation objet d'un URI (Uniform Resource Identifier) et un accès simplifié aux parties de l'identificateur.

public ref class Uri
public ref class Uri : System::Runtime::Serialization::ISerializable
public ref class Uri : ISpanFormattable, System::Runtime::Serialization::ISerializable
public ref class Uri : MarshalByRefObject, System::Runtime::Serialization::ISerializable
public class Uri
public class Uri : System.Runtime.Serialization.ISerializable
public class Uri : ISpanFormattable, System.Runtime.Serialization.ISerializable
[System.Serializable]
public class Uri : MarshalByRefObject, System.Runtime.Serialization.ISerializable
[System.Serializable]
[System.ComponentModel.TypeConverter(typeof(System.UriTypeConverter))]
public class Uri : System.Runtime.Serialization.ISerializable
type Uri = class
type Uri = class
    interface ISerializable
type Uri = class
    interface ISpanFormattable
    interface IFormattable
    interface ISerializable
type Uri = class
    interface IFormattable
    interface ISpanFormattable
    interface ISerializable
[<System.Serializable>]
type Uri = class
    inherit MarshalByRefObject
    interface ISerializable
[<System.Serializable>]
[<System.ComponentModel.TypeConverter(typeof(System.UriTypeConverter))>]
type Uri = class
    interface ISerializable
Public Class Uri
Public Class Uri
Implements ISerializable
Public Class Uri
Implements ISerializable, ISpanFormattable
Public Class Uri
Inherits MarshalByRefObject
Implements ISerializable
Héritage
Uri
Héritage
Attributs
Implémente

Exemples

L’exemple suivant crée une instance de la Uri classe et l’utilise pour effectuer une requête GET avec HttpClient.

Uri^ siteUri = gcnew Uri("http://www.contoso.com/");

// HttpClient lifecycle management best practices:
// https://learn.microsoft.com/dotnet/fundamentals/networking/http/httpclient-guidelines#recommended-use
HttpClient^ client = gcnew HttpClient;
HttpRequestMessage^ request = gcnew HttpRequestMessage(HttpMethod::Get, siteUri);
HttpResponseMessage^ response = client->Send(request);
Uri siteUri = new Uri("http://www.contoso.com/");

// HttpClient lifecycle management best practices:
// https://learn.microsoft.com/dotnet/fundamentals/networking/http/httpclient-guidelines#recommended-use
HttpClient client = new HttpClient();
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, siteUri);
HttpResponseMessage response = client.Send(request);
let siteUri = Uri "http://www.contoso.com/"

// HttpClient lifecycle management best practices:
// https://learn.microsoft.com/dotnet/fundamentals/networking/http/httpclient-guidelines#recommended-use
use client = new HttpClient ()
use request = new HttpRequestMessage (HttpMethod.Get, siteUri)
use response = client.Send request
Dim siteUri As New Uri("http://www.contoso.com/")

' HttpClient lifecycle management best practices:
' https://learn.microsoft.com/dotnet/fundamentals/networking/http/httpclient-guidelines#recommended-use
Dim client As New HttpClient()
Dim request As New HttpRequestMessage(HttpMethod.Get, siteUri)
Dim response As HttpResponseMessage = client.Send(request)

L’extrait de code suivant montre des exemples de valeurs des différentes propriétés de la classe .

Uri uri = new Uri("https://user:password@www.contoso.com:80/Home/Index.htm?q1=v1&q2=v2#FragmentName");

Console.WriteLine($"AbsolutePath: {uri.AbsolutePath}");
Console.WriteLine($"AbsoluteUri: {uri.AbsoluteUri}");
Console.WriteLine($"DnsSafeHost: {uri.DnsSafeHost}");
Console.WriteLine($"Fragment: {uri.Fragment}");
Console.WriteLine($"Host: {uri.Host}");
Console.WriteLine($"HostNameType: {uri.HostNameType}");
Console.WriteLine($"IdnHost: {uri.IdnHost}");
Console.WriteLine($"IsAbsoluteUri: {uri.IsAbsoluteUri}");
Console.WriteLine($"IsDefaultPort: {uri.IsDefaultPort}");
Console.WriteLine($"IsFile: {uri.IsFile}");
Console.WriteLine($"IsLoopback: {uri.IsLoopback}");
Console.WriteLine($"IsUnc: {uri.IsUnc}");
Console.WriteLine($"LocalPath: {uri.LocalPath}");
Console.WriteLine($"OriginalString: {uri.OriginalString}");
Console.WriteLine($"PathAndQuery: {uri.PathAndQuery}");
Console.WriteLine($"Port: {uri.Port}");
Console.WriteLine($"Query: {uri.Query}");
Console.WriteLine($"Scheme: {uri.Scheme}");
Console.WriteLine($"Segments: {string.Join(", ", uri.Segments)}");
Console.WriteLine($"UserEscaped: {uri.UserEscaped}");
Console.WriteLine($"UserInfo: {uri.UserInfo}");

// AbsolutePath: /Home/Index.htm
// AbsoluteUri: https://user:password@www.contoso.com:80/Home/Index.htm?q1=v1&q2=v2#FragmentName
// DnsSafeHost: www.contoso.com
// Fragment: #FragmentName
// Host: www.contoso.com
// HostNameType: Dns
// IdnHost: www.contoso.com
// IsAbsoluteUri: True
// IsDefaultPort: False
// IsFile: False
// IsLoopback: False
// IsUnc: False
// LocalPath: /Home/Index.htm
// OriginalString: https://user:password@www.contoso.com:80/Home/Index.htm?q1=v1&q2=v2#FragmentName
// PathAndQuery: /Home/Index.htm?q1=v1&q2=v2
// Port: 80
// Query: ?q1=v1&q2=v2
// Scheme: https
// Segments: /, Home/, Index.htm
// UserEscaped: False
// UserInfo: user:password
let uri = Uri "https://user:password@www.contoso.com:80/Home/Index.htm?q1=v1&q2=v2#FragmentName"

printfn $"AbsolutePath: {uri.AbsolutePath}"
printfn $"AbsoluteUri: {uri.AbsoluteUri}"
printfn $"DnsSafeHost: {uri.DnsSafeHost}"
printfn $"Fragment: {uri.Fragment}"
printfn $"Host: {uri.Host}"
printfn $"HostNameType: {uri.HostNameType}"
printfn $"IdnHost: {uri.IdnHost}"
printfn $"IsAbsoluteUri: {uri.IsAbsoluteUri}"
printfn $"IsDefaultPort: {uri.IsDefaultPort}"
printfn $"IsFile: {uri.IsFile}"
printfn $"IsLoopback: {uri.IsLoopback}"
printfn $"IsUnc: {uri.IsUnc}"
printfn $"LocalPath: {uri.LocalPath}"
printfn $"OriginalString: {uri.OriginalString}"
printfn $"PathAndQuery: {uri.PathAndQuery}"
printfn $"Port: {uri.Port}"
printfn $"Query: {uri.Query}"
printfn $"Scheme: {uri.Scheme}"
printfn $"""Segments: {String.Join(", ", uri.Segments)}"""
printfn $"UserEscaped: {uri.UserEscaped}"
printfn $"UserInfo: {uri.UserInfo}"

// AbsolutePath: /Home/Index.htm
// AbsoluteUri: https://user:password@www.contoso.com:80/Home/Index.htm?q1=v1&q2=v2#FragmentName
// DnsSafeHost: www.contoso.com
// Fragment: #FragmentName
// Host: www.contoso.com
// HostNameType: Dns
// IdnHost: www.contoso.com
// IsAbsoluteUri: True
// IsDefaultPort: False
// IsFile: False
// IsLoopback: False
// IsUnc: False
// LocalPath: /Home/Index.htm
// OriginalString: https://user:password@www.contoso.com:80/Home/Index.htm?q1=v1&q2=v2#FragmentName
// PathAndQuery: /Home/Index.htm?q1=v1&q2=v2
// Port: 80
// Query: ?q1=v1&q2=v2
// Scheme: https
// Segments: /, Home/, Index.htm
// UserEscaped: False
// UserInfo: user:password

Remarques

Pour plus d’informations sur cette API, consultez Remarques supplémentaires sur l’API pour URI.

Constructeurs

Uri(SerializationInfo, StreamingContext)
Obsolète.

Initialise une nouvelle instance de la classe Uri à partir des instances spécifiées des classes SerializationInfo et StreamingContext.

Uri(String)

Initialise une nouvelle instance de la classe Uri avec l'URI spécifié.

Uri(String, Boolean)
Obsolète.
Obsolète.
Obsolète.

Initialise une nouvelle instance de la classe Uri avec l'URI spécifié et contrôle explicite de l'échappement des caractères.

Uri(String, UriCreationOptions)

Initialise une nouvelle instance de la classe avec l’URI Uri spécifié et un autre UriCreationOptions.

Uri(String, UriKind)

Initialise une nouvelle instance de la classe Uri avec l'URI spécifié. Ce constructeur vous permet de spécifier si la chaîne d'URI est un URI relatif, un URI absolu ou si elle est indéterminée.

Uri(Uri, String)

Initialise une nouvelle instance de la classe Uri fondée sur l'URI de base et la chaîne URI relative spécifiés.

Uri(Uri, String, Boolean)
Obsolète.
Obsolète.
Obsolète.

Initialise une nouvelle instance de la classe Uri fondée sur les URI de base et relatifs spécifiés, avec contrôle explicite de l'échappement des caractères.

Uri(Uri, Uri)

Initialise une nouvelle instance de la classe Uri en s'appuyant sur la combinaison d'une instance de Uri de base et d'une instance de Uri relative.

Champs

SchemeDelimiter

Spécifie les caractères qui séparent le schéma du protocole de communication de la partie adresse de l'URI. Ce champ est en lecture seule.

UriSchemeFile

Spécifie que l'URI est un pointeur vers un fichier. Ce champ est en lecture seule.

UriSchemeFtp

Spécifie que l'URI est accessible par l'intermédiaire du protocole FTP (File Transfer Protocol). Ce champ est en lecture seule.

UriSchemeFtps

Spécifie que l’URI est accessible via le protocole FTPS (File Transfer Protocol Secure). Ce champ est en lecture seule.

UriSchemeGopher

Spécifie que l'URI est accessible par l'intermédiaire du protocole Gopher. Ce champ est en lecture seule.

UriSchemeHttp

Spécifie que l'URI est accessible par l'intermédiaire du protocole HTTP (Hypertext Transfer Protocol). Ce champ est en lecture seule.

UriSchemeHttps

Spécifie que l'URI est accessible par l'intermédiaire du protocole HTTPS (Secure Hypertext Transfer Protocol). Ce champ est en lecture seule.

UriSchemeMailto

Spécifie que l’URI est une adresse e-mail accessible par l’intermédiaire du protocole SMTP (Simple Mail Transport Protocol). Ce champ est en lecture seule.

UriSchemeNetPipe

Spécifie que l'URI est accessible via le modèle NetPipe utilisé par Windows Communication Foundation (WCF). Ce champ est en lecture seule.

UriSchemeNetTcp

Spécifie que l'URI est accessible via le modèle NetTcp utilisé par Windows Communication Foundation (WCF). Ce champ est en lecture seule.

UriSchemeNews

Spécifie que l'URI est un groupe de discussion Internet accessible par le protocole NNTP (Network News Transport Protocol). Ce champ est en lecture seule.

UriSchemeNntp

Spécifie que l'URI est un groupe de discussion Internet accessible par le protocole NNTP (Network News Transport Protocol). Ce champ est en lecture seule.

UriSchemeSftp

Spécifie que l’URI est accessible via le protocole SFTP (SSH File Transfer Protocol). Ce champ est en lecture seule.

UriSchemeSsh

Spécifie que l’URI est accessible via le protocole SSH (Secure Socket Shell). Ce champ est en lecture seule.

UriSchemeTelnet

Spécifie que l’URI est accessible via le protocole Telnet. Ce champ est en lecture seule.

UriSchemeWs

Spécifie que l’URI est accessible via le protocole WebSocket (WS). Ce champ est en lecture seule.

UriSchemeWss

Spécifie que l’URI est accessible via le protocole WSS (WebSocket Secure Protocol). Ce champ est en lecture seule.

Propriétés

AbsolutePath

Obtient le chemin d’accès absolu de l’URI.

AbsoluteUri

Obtient l'URI absolu.

Authority

Obtient le nom de l'hôte DNS (Domain Name System) ou l'adresse IP et le numéro de port pour un serveur.

DnsSafeHost

Obtient un nom d’hôte qui, une fois sans séquence d’échappement si nécessaire, peut être utilisé en toute sécurité pour la résolution DNS.

Fragment

Obtient le fragment d’URI d’échappement, y compris le caractère « # » de début s’il n’est pas vide.

Host

Obtient le composant hôte de cette instance.

HostNameType

Obtient le type du nom d'hôte spécifié dans l'URI.

IdnHost

Obtient le nom de domaine international conforme À la norme RFC 3490 de l’hôte, en utilisant Punycode comme il convient. Cette chaîne, une fois sans séquence d’échappement si nécessaire, peut être utilisée en toute sécurité pour la résolution DNS.

IsAbsoluteUri

Obtient une valeur qui indique si l’instance Uri est absolue.

IsDefaultPort

Obtient une valeur qui indique si la valeur de port de l’URI est la valeur par défaut pour ce schéma.

IsFile

Obtient une valeur qui indique si le Uri spécifié est un URI de fichier.

IsLoopback

Obtient une valeur qui indique si le Uri spécifié référence l’hôte local.

IsUnc

Obtient une valeur qui indique si le Uri spécifié est un chemin d’accès UNC (Universal Naming Convention).

LocalPath

Obtient une représentation du système d'exploitation local d'un nom de fichier.

OriginalString

Obtient la chaîne d'URI d'origine passée au constructeur Uri.

PathAndQuery

Obtient les propriétés AbsolutePath et Query séparées par un point d'interrogation (?).

Port

Obtient le numéro de port de l'URI spécifié.

Query

Obtient toutes les informations de requête incluses dans l’URI spécifié, y compris le caractère de début « ? » s’il n’est pas vide.

Scheme

Obtient le nom de schéma de cet URI.

Segments

Obtient un tableau contenant des segments de chemin d’accès qui composent l’URI spécifié.

UserEscaped

Obtient une valeur qui indique si la chaîne d’URI était complètement échappée avant la création de l’instance Uri.

UserInfo

Obtient le nom d'utilisateur, le mot de passe et d'autres informations spécifiques à l'utilisateur associés à l'URI spécifié.

Méthodes

Canonicalize()
Obsolète.
Obsolète.
Obsolète.

Convertit l'URI stocké en interne au format réglementaire.

CheckHostName(String)

Détermine si le nom d'hôte spécifié est un nom DNS valide.

CheckSchemeName(String)

Détermine si le nom de schéma spécifié est valide.

CheckSecurity()
Obsolète.
Obsolète.
Obsolète.

L'appel à cette méthode n'a aucun effet.

Compare(Uri, Uri, UriComponents, UriFormat, StringComparison)

Compare les parties spécifiées de deux URI à l'aide des règles de comparaison spécifiées.

CreateObjRef(Type)

Crée un objet contenant toutes les informations appropriées requises pour générer un proxy permettant de communiquer avec un objet distant.

(Hérité de MarshalByRefObject)
Equals(Object)

Compare si deux instances Uri sont égales.

Escape()
Obsolète.
Obsolète.
Obsolète.

Convertit tous les caractères non sécurisés ou réservés dans le composant de chemin d'accès en leurs présentations en caractères hexadécimaux.

EscapeDataString(ReadOnlySpan<Char>)

Fournit une représentation objet d'un URI (Uniform Resource Identifier) et un accès simplifié aux parties de l'identificateur.

EscapeDataString(String)

Convertit une chaîne en sa représentation avec séquence d'échappement.

EscapeString(String)
Obsolète.
Obsolète.
Obsolète.
Obsolète.

Convertit une chaîne en sa représentation avec séquence d'échappement.

EscapeUriString(String)
Obsolète.
Obsolète.

Convertit une chaîne URI en sa représentation sans séquence d'échappement.

FromHex(Char)

Obtient la valeur décimale d'un chiffre hexadécimal.

GetComponents(UriComponents, UriFormat)

Obtient les composants spécifiés de l'instance actuelle à l'aide de la séquence d'échappement spécifiée pour les caractères spéciaux.

GetHashCode()

Obtient le code de hachage pour l'URI.

GetLeftPart(UriPartial)

Obtient la partie spécifiée d'une instance Uri.

GetLifetimeService()
Obsolète.

Récupère l'objet de service de durée de vie en cours qui contrôle la stratégie de durée de vie de cette instance.

(Hérité de MarshalByRefObject)
GetObjectData(SerializationInfo, StreamingContext)

Retourne les données nécessaires à la sérialisation de l'instance actuelle.

GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
HexEscape(Char)

Convertit un caractère spécifié en son équivalent hexadécimal.

HexUnescape(String, Int32)

Convertit une représentation hexadécimale spécifiée d'un caractère en ce caractère.

InitializeLifetimeService()
Obsolète.

Obtient un objet de service de durée de vie pour contrôler la stratégie de durée de vie de cette instance.

(Hérité de MarshalByRefObject)
IsBadFileSystemCharacter(Char)
Obsolète.
Obsolète.
Obsolète.

Indique si un caractère n’est pas valide dans un nom de système de fichiers.

IsBaseOf(Uri)

Détermine si l'instance de Uri actuelle est une base de l'instance de Uri spécifiée.

IsExcludedCharacter(Char)
Obsolète.
Obsolète.
Obsolète.

Détermine si le caractère spécifié doit faire l’objet d’un échappement.

IsHexDigit(Char)

Détermine si un caractère spécifié est un chiffre hexadécimal valide.

IsHexEncoding(String, Int32)

Détermine si un caractère d'une chaîne est encodé en hexadécimal.

IsReservedCharacter(Char)
Obsolète.
Obsolète.
Obsolète.

Détermine si le caractère spécifié est un caractère réservé.

IsWellFormedOriginalString()

Indique si la chaîne utilisée pour construire ce Uri objet a été bien formée et ne nécessite pas d’échappement supplémentaire.

IsWellFormedUriString(String, UriKind)

Indique si la chaîne est bien formée en essayant de construire un URI avec la chaîne et garantit que la chaîne ne doit pas également faire l'objet d'une séquence d'échappement.

MakeRelative(Uri)
Obsolète.
Obsolète.
Obsolète.
Obsolète.

Détermine la différence entre deux instances de Uri.

MakeRelativeUri(Uri)

Détermine la différence entre deux instances de Uri.

MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
MemberwiseClone(Boolean)

Crée une copie superficielle de l'objet MarshalByRefObject actuel.

(Hérité de MarshalByRefObject)
Parse()
Obsolète.
Obsolète.
Obsolète.

Analyse l'URI de l'instance actuelle pour s'assurer qu'il contient toutes les parties requises pour un URI valide.

ToString()

Obtient une représentation canonique sous forme de chaîne de l'instance de Uri.

TryCreate(String, UriCreationOptions, Uri)

Crée un nouveau Uri à l’aide des instance et UriCreationOptionsspécifiés String .

TryCreate(String, UriKind, Uri)

Crée Uri à l'aide de l'instance de String spécifiée et de UriKind.

TryCreate(Uri, String, Uri)

Crée un Uri à l'aide des instances de String de base et relatives.

TryCreate(Uri, Uri, Uri)

Crée un Uri à l'aide des instances de Uri de base et relatives.

TryEscapeDataString(ReadOnlySpan<Char>, Span<Char>, Int32)

Fournit une représentation objet d'un URI (Uniform Resource Identifier) et un accès simplifié aux parties de l'identificateur.

TryFormat(Span<Char>, Int32)

Tente de mettre en forme une représentation sous forme de chaîne canonique pour le Uri instance dans l’étendue spécifiée.

TryUnescapeDataString(ReadOnlySpan<Char>, Span<Char>, Int32)

Fournit une représentation objet d'un URI (Uniform Resource Identifier) et un accès simplifié aux parties de l'identificateur.

Unescape(String)
Obsolète.
Obsolète.
Obsolète.

Convertit la chaîne spécifiée en remplaçant toutes les séquences d'échappement par leur représentation sans séquence d'échappement.

UnescapeDataString(ReadOnlySpan<Char>)

Fournit une représentation objet d'un URI (Uniform Resource Identifier) et un accès simplifié aux parties de l'identificateur.

UnescapeDataString(String)

Convertit une chaîne en sa représentation sans séquence d'échappement.

Opérateurs

Equality(Uri, Uri)

Détermine si deux instances Uri ont la même valeur.

Inequality(Uri, Uri)

Détermine si deux instances de Uri n'ont pas la même valeur.

Implémentations d’interfaces explicites

IFormattable.ToString(String, IFormatProvider)

Met en forme la valeur de l’instance actuelle en utilisant le format spécifié.

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Retourne les données nécessaires à la sérialisation de l'instance actuelle.

ISpanFormattable.TryFormat(Span<Char>, Int32, ReadOnlySpan<Char>, IFormatProvider)

Tente de mettre en forme la valeur de la instance actuelle dans l’étendue de caractères fournie.

S’applique à

Cohérence de thread

Tous les membres de Uri sont thread-safe et peuvent être utilisés simultanément à partir de plusieurs threads.

Voir aussi