Partager via


Uri Classe

Définition

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

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 : IEquatable<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
public class Uri : IEquatable<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 IEquatable<Uri>
    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
Implements IEquatable(Of Uri), 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 classe Uri 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 d’API supplémentaires 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é, avec un contrôle explicite d’échappement de caractères.

Uri(String, UriCreationOptions)

Initialise une nouvelle instance de la classe Uri avec l’URI spécifié et des UriCreationOptionssupplémentaires.

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 est indéterminé.

Uri(Uri, String)

Initialise une nouvelle instance de la classe Uri en fonction de l’URI de base et de la chaîne d’URI relative spécifiées.

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

Initialise une nouvelle instance de la classe Uri en fonction des URI de base et relatifs spécifiés, avec un contrôle explicite de l’échappement de caractères.

Uri(Uri, Uri)

Initialise une nouvelle instance de la classe Uri en fonction de la combinaison d’une instance de base Uri spécifiée et d’une instance de Uri relative.

Champs

SchemeDelimiter

Spécifie les caractères qui séparent le schéma de protocole de communication de la partie d’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 via le 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 via le protocole Gopher. Ce champ est en lecture seule.

UriSchemeHttp

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

UriSchemeHttps

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

UriSchemeMailto

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

UriSchemeNetPipe

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

UriSchemeNetTcp

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

UriSchemeNews

Spécifie que l’URI est un groupe d’actualités Internet et est accessible via le protocole NNTP (Network News Transport Protocol). Ce champ est en lecture seule.

UriSchemeNntp

Spécifie que l’URI est un groupe d’actualités Internet et est accessible via 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 Protocol). 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 absolu de l’URI.

AbsoluteUri

Obtient l’URI absolu.

Authority

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

DnsSafeHost

Obtient un nom d’hôte qui, après avoir été non boucté si nécessaire, est sûr à utiliser 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 RFC 3490 de l’hôte, en utilisant Punycode comme il convient. Cette chaîne, après avoir été déchaînée si nécessaire, est sûre à utiliser 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 de 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é fait 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 locale du système d’exploitation d’un nom de fichier.

OriginalString

Obtient la chaîne d’URI d’origine qui a été 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 cet URI.

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 du schéma pour cet URI.

Segments

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

UserEscaped

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

UserInfo

Obtient le nom d’utilisateur, le mot de passe ou d’autres informations spécifiques à l’utilisateur associées à l’URI spécifié.

Méthodes

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

Convertit l’URI stocké en interne en formulaire canonique.

CheckHostName(String)

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

CheckSchemeName(String)

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

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

L’appel de 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 qui contient toutes les informations pertinentes requises pour générer un proxy utilisé pour communiquer avec un objet distant.

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

Compare deux instances Uri pour l’égalité.

Equals(Uri)

Compare deux instances Uri pour l’égalité.

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

Convertit les caractères non sécurisés ou réservés dans le composant de chemin d’accès en leurs représentations hexadécimales.

EscapeDataString(ReadOnlySpan<Char>)

Convertit une étendue en sa représentation en échappement.

EscapeDataString(String)

Convertit une chaîne en sa représentation d’échappement.

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

Convertit une chaîne en sa représentation d’échappement.

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

Convertit une chaîne d’URI en sa représentation 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 l’échappement spécifié pour les caractères spéciaux.

GetHashCode()

Obtient le code de hachage de 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 actuel 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 pour sérialiser l’instance actuelle.

GetType()

Obtient la 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 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 Uri spécifiée.

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

Détermine si le caractère spécifié doit être échappé.

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 dans une chaîne est encodé 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 cette Uri 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 tentant de construire un URI avec la chaîne et garantit que la chaîne ne nécessite pas d’échappement supplémentaire.

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

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

MakeRelativeUri(Uri)

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

MemberwiseClone()

Crée une copie superficielle du Objectactuel.

(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 sous forme de chaîne canonique pour l’instance de Uri spécifiée.

TryCreate(String, UriCreationOptions, Uri)

Crée une Uri à l’aide de l’instance de String spécifiée et de UriCreationOptions.

TryCreate(String, UriKind, Uri)

Crée une Uri à l’aide de l’instance de String spécifiée et d’un UriKind.

TryCreate(Uri, String, Uri)

Crée une Uri à l’aide des instances de base et de String relatives spécifiées.

TryCreate(Uri, Uri, Uri)

Crée une Uri à l’aide des instances de base et de Uri relatives spécifiées.

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

Tente de convertir une étendue en sa représentation d’échappement.

TryFormat(Span<Char>, Int32)

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

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

Tente de convertir une étendue en sa représentation sans paysage.

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

Convertit la chaîne spécifiée en remplaçant les séquences d’échappement par leur représentation non échapée.

UnescapeDataString(ReadOnlySpan<Char>)

Convertit une étendue en sa représentation sans paysage.

UnescapeDataString(String)

Convertit une chaîne en sa représentation non boucrée.

Opérateurs

Equality(Uri, Uri)

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

Inequality(Uri, Uri)

Détermine si deux instances 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 à l’aide du format spécifié.

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Retourne les données nécessaires pour sérialiser l’instance actuelle.

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

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

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