Je sais qu'il est trop tard pour répondre mais juste à titre d'information pour les futurs lecteurs :
WebRequest
System.Object
System.MarshalByRefObject
System.Net.WebRequest
El WebRequest
est une classe de base abstraite. Donc, en fait, vous ne l'utilisez pas directement. Vous l'utilisez à travers ses classes dérivées - HttpWebRequest
y FileWebRequest
.
Vous utilisez la méthode Create de WebRequest
pour créer une instance de WebRequest
. GetResponseStream
renvoie à data stream
.
Il existe également FileWebRequest
y FtpWebRequest
des classes qui inherit
de WebRequest
. Normalement, vous devriez utiliser WebRequest
pour, eh bien, faire une demande et convertir le retour en soit HttpWebRequest
, FileWebRequest
o FtpWebRequest
dépendent de votre demande. Vous trouverez ci-dessous un exemple :
Ejemplo:
var _request = (HttpWebRequest)WebRequest.Create("http://stackoverflow.com");
var _response = (HttpWebResponse)_request.GetResponse();
WebClient
System.Object
System.MarshalByRefObject
System.ComponentModel.Component
System.Net.WebClient
WebClient
fournit des opérations communes pour sending
y receiving
des données provenant d'une ressource identifiée par un URI
. Il s'agit simplement d'une abstraction de plus haut niveau de HttpWebRequest
. Ces "opérations communes" sont ce qui différencie WebClient
de HttpWebRequest
comme le montre également l'exemple ci-dessous :
Ejemplo:
var _client = new WebClient();
var _stackContent = _client.DownloadString("http://stackoverflow.com");
Il existe également DownloadData
y DownloadFile
les opérations sous WebClient
instance. Ces opérations communes simplifient aussi le code de ce que nous ferions normalement avec HttpWebRequest
. Utilisation de HttpWebRequest
nous devons récupérer la réponse à notre demande, instancier StreamReader
pour lire la réponse et enfin, convertir le résultat dans le type que nous attendons. Avec WebClient
nous appelons simplement DownloadData, DownloadFile or DownloadString
.
Cependant, gardez à l'esprit que WebClient.DownloadString
ne tient pas compte de la encoding
de la ressource que vous demandez. Ainsi, vous finirez probablement par recevoir des caractères bizarres si vous ne spécifiez pas d'encodage.
NOTE : Fondamentalement " WebClient prend quelques lignes de code par rapport à WebRequest "