WebRequest, classe

Lance une demande à un URI (Uniform Resource Identifier). Il s'agit d'une classe abstract.

Espace de noms : System.Net
Assembly : System (dans system.dll)

[SerializableAttribute] 
public abstract class WebRequest : MarshalByRefObject, ISerializable
/** @attribute SerializableAttribute() */ 
public abstract class WebRequest extends MarshalByRefObject implements ISerializable
SerializableAttribute 
public abstract class WebRequest extends MarshalByRefObject implements ISerializable

WebRequest est la classe de base abstract du modèle demande/réponse du .NET Framework pour l'accès aux données à partir d'Internet. Une application qui utilise le modèle demande/réponse peut demander des données à partir d'Internet de manière agnostique du protocole, dans lesquelles l'application utilise des instances de la classe WebRequest alors que les classes descendantes propres au protocole exécutent les détails de la demande.

Les demandes sont envoyées par une application vers un URI particulier, tel qu'une page Web sur un serveur. L'URI détermine la classe descendante adéquate à créer à partir d'une liste des descendants WebRequest inscrits pour l'application. Les descendants WebRequest sont généralement inscrits pour gérer un protocole spécifique, tel que HTTP ou FTP, mais peuvent être inscrits pour gérer une demande adressée à un serveur ou à un chemin d'accès spécifique situé sur un serveur.

La classe WebRequest lève WebException lorsque des erreurs se produisent pendant l'accès à une ressource Internet. La propriété WebException.Status est une des valeurs WebExceptionStatus qui indique la source de l'erreur. Si WebException.Status est WebExceptionStatus.ProtocolError, la propriété Response contient le WebResponse reçu de la ressource Internet.

Comme la classe WebRequest est une classe abstract, le comportement réel des instances de WebRequest au moment de l'exécution est déterminé par la classe descendante retournée par la méthode System.Net.WebRequest.Create. Pour plus d'informations sur les valeurs par défaut et les exceptions, consultez la documentation des classes descendantes, telles que HttpWebRequest et FileWebRequest.

RemarqueRemarque

Utilisez la méthode Create pour initialiser de nouvelles instances de WebRequest. N'utilisez pas le constructeur WebRequest.

RemarqueRemarque

Si l'application qui crée l'objet WebRequest s'exécute avec les informations d'identification d'un utilisateur normal, l'application n'est pas capable d'accéder aux certificats installés dans le magasin de l'ordinateur local à moins que l'autorisation d'effectuer cette opération n'ait été explicitement donnée à l'utilisateur.

Remarques à l'attention des héritiers Lorsque vous héritez de WebRequest, vous devez substituer les membres suivants : Method, RequestUri, Headers, ContentLength, ContentType, Credentials, PreAuthenticate, GetRequestStream, BeginGetRequestStream, EndGetRequestStream, GetResponse, BeginGetResponse et EndGetResponse. En outre, vous devez fournir une implémentation de l'interface IWebRequestCreate qui définit la méthode Create utilisée lors de l'appel à la méthode Create. Vous devez inscrire la classe qui implémente l'interface IWebRequestCreate, à l'aide de la méthode RegisterPrefix ou du fichier de configuration.

L'exemple suivant illustre la création d'une instance de WebRequest et retourne la réponse.

using System;
using System.IO;
using System.Net;
using System.Text;

namespace Examples.System.Net
{
    public class WebRequestGetExample
    {
        public static void Main ()
        {
            // Create a request for the URL. 		
            WebRequest request = WebRequest.Create ("http://www.contoso.com/default.html");
            // If required by the server, set the credentials.
            request.Credentials = CredentialCache.DefaultCredentials;
            // Get the response.
            HttpWebResponse response = (HttpWebResponse)request.GetResponse ();
            // Display the status.
            Console.WriteLine (response.StatusDescription);
            // Get the stream containing content returned by the server.
            Stream dataStream = response.GetResponseStream ();
            // Open the stream using a StreamReader for easy access.
            StreamReader reader = new StreamReader (dataStream);
            // Read the content.
            string responseFromServer = reader.ReadToEnd ();
            // Display the content.
            Console.WriteLine (responseFromServer);
            // Cleanup the streams and the response.
            reader.Close ();
            dataStream.Close ();
            response.Close ();
        }
    }
}

  • WebPermission  Pour accéder à l'URI demandé ou à tout URI vers lequel la demande est redirigée. Énumération associée : Connect.

Les membres statiques publics (Shared en Visual Basic) de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile pour Pocket PC, Windows Mobile pour Smartphone, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

.NET Framework

Prise en charge dans : 2.0, 1.1, 1.0

.NET Compact Framework

Prise en charge dans : 2.0, 1.0

Ajouts de la communauté

AJOUTER
Afficher: