Maison >développement back-end >C++ >Comment envoyer des demandes de post HTTP dans .NET en utilisant différentes méthodes?

Comment envoyer des demandes de post HTTP dans .NET en utilisant différentes méthodes?

Patricia Arquette
Patricia Arquetteoriginal
2025-02-02 16:36:12877parcourir

How to Send HTTP POST Requests in .NET Using Different Methods?

.net Envoyer la demande de post http

Introduction

Dans .NET, les développeurs ont demandé HTTP Post d'envoyer des données au serveur. Ces données peuvent utiliser une variété de formats, tels que des données JSON, XML ou URL de formulaire. Cet article va bien en vue de la façon d'émettre une demande HTTP Post dans le .NET pour explorer différentes méthodes et fournir des exemples de code.

Méthode 1: Utilisez httpclient (recommandation) **

httpclient est une méthode de recommandation pour les demandes HTTP dans .NET, avec des performances élevées. Il est disponible dans la plupart des versions .NET modernes et a fourni des opérations asynchrones.

Paramètres:

Demande de poste:

<code>private static readonly HttpClient client = new HttpClient();</code>

Obtenez la demande:

<code>var values = new Dictionary<string, string>()
{
    { "thing1", "hello" },
    { "thing2", "world" }
};

var content = new FormUrlEncodedContent(values);

var response = await client.PostAsync("http://www.example.com/recepticle.aspx", content);

var responseString = await response.Content.ReadAsStringAsync();</code>

Méthode 2: la bibliothèque tierce Restacte:

<code>var responseString = await client.GetStringAsync("http://www.example.com/recepticle.aspx");</code>

flurl.http:

Méthode 3: httpwebRequest (non recommandé) **
<code>var request = new RestRequest("resource/{id}");
request.AddParameter("thing1", "Hello");
request.AddParameter("thing2", "world");
var response = client.Post(request);
var content = response.Content; // 原始内容作为字符串</code>

httpwebRequest est une méthode plus ancienne, et les performances ne sont pas aussi bonnes que HttpClient. Pour des raisons de compatibilité, il est toujours pris en charge. Demande de poste:

<code>var responseString = await "http://www.example.com/recepticle.aspx"
    .PostUrlEncodedAsync(new { thing1 = "hello", thing2 = "world" })
    .ReceiveString();</code>

Méthode 4: WebClient (non recommandé) **

WebClient est un autre choix, mais l'efficacité n'est pas aussi efficace que HttpClient.

Demande de poste:

<code>string postData = "thing1=" + Uri.EscapeDataString("hello");
postData += "&thing2=" + Uri.EscapeDataString("world");
var data = Encoding.ASCII.GetBytes(postData);

request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";

using (var stream = request.GetRequestStream())
{
    stream.Write(data, 0, data.Length);
}</code>

Conclusion

.NET Send http Les demandes de poste peuvent utiliser plusieurs méthodes. HttpClient est la méthode préférée, et la bibliothèque de troisième partie fournit d'autres fonctions. Pour des raisons de compatibilité, HttpWeBRequest et WebClient peuvent toujours être utilisés, mais il est recommandé d'utiliser des méthodes modernes pour obtenir des performances et des fonctions optimales.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn