Téléchargement de fichiers HTTP POST C# : un guide complet
Ce guide explique comment utiliser C# pour télécharger des fichiers sur un serveur distant via une requête HTTP POST.
1. Construction de la requête HTTP
Tout d'abord, créez un objet HttpWebRequest
spécifiant l'URL cible. Définissez la propriété Method
sur "POST" et définissez ContentType
et ContentLength
de manière appropriée.
2. Paramètres d'authentification et de connexion
Configurez la propriété Credentials
de la requête avec les informations d'identification utilisateur nécessaires. Activez la pré-authentification en définissant PreAuthenticate
sur true
.
3. Création de données de formulaire en plusieurs parties
Pour C# 4.5 et versions ultérieures, exploitez la classe MultipartFormDataContent
pour créer des données de formulaire en plusieurs parties. Ajoutez à la fois des données de chaîne et de fichier en utilisant respectivement StringContent
et StreamContent
.
4. Envoi de la demande et traitement de la réponse
Envoyez la demande en utilisant req.GetResponse()
et gérez les éventuelles exceptions. Traitez la réponse du serveur en conséquence.
5. Exemple de code
Le code suivant illustre le processus :
<code class="language-csharp">HttpWebRequest req = WebRequest.Create(uri) as HttpWebRequest; req.KeepAlive = false; req.Method = "POST"; req.Credentials = new NetworkCredential(user.UserName, user.UserPassword); req.PreAuthenticate = true; req.ContentType = file.ContentType; req.ContentLength = file.Length; using (var formData = new MultipartFormDataContent()) { formData.Add(new StringContent(paramString), "param1", "param1"); formData.Add(new StreamContent(paramFileStream), "file1", "file1"); formData.Add(new ByteArrayContent(paramFileBytes), "file2", "file2"); using (var client = new HttpClient()) { var response = await client.PostAsync(uri, formData); // Process the response here... } }</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!