Uri Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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 : 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 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. |
Equals(Uri) |
Fournit une représentation objet d'un URI (Uniform Resource Identifier) et un accès simplifié aux parties de l'identificateur. |
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
- IdnElement
- IriParsingElement
- UriSection
- DnsSafeHost
- MakeRelative(Uri)
- IsWellFormedOriginalString()
- UriBuilder
- Modifications apportées à l’espace de noms System.Uri dans la Version 2.0
- Prise en charge des identificateurs de ressource internationaux dans System.UriSystem.Uri
- Programmation réseau dans le .NET Framework
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour