.NET HttpClient. Comment POST valeur de chaîne?

Comment puis-je créer en utilisant C # et HttpClient la requête POST suivante: Agent utilisateur: Fiddler Type de contenu: application / x-www-form-urlencoded Hôte: localhost: 6740 Content-Length: 6

J’ai besoin d’une telle demande pour mon service API Web:

[ActionName("exist")] [System.Web.Mvc.HttpPost] public bool CheckIfUserExist([FromBody] ssortingng login) { bool result = _membershipProvider.CheckIfExist(login); return result; } 

 using System; using System.Collections.Generic; using System.Net.Http; class Program { static void Main(ssortingng[] args) { Task.Run(() => MainAsync()); Console.ReadLine(); } static async Task MainAsync() { using (var client = new HttpClient()) { client.BaseAddress = new Uri("http://localhost:6740"); var content = new FormUrlEncodedContent(new[] { new KeyValuePair("", "login") }); var result = await client.PostAsync("/api/Membership/exists", content); ssortingng resultContent = await result.Content.ReadAsSsortingngAsync(); Console.WriteLine(resultContent); } } } 

Vous trouverez ci-dessous un exemple d’appel synchrone, mais vous pouvez facilement passer en mode asynchrone en utilisant wait-sync:

 var pairs = new List> { new KeyValuePair("login", "abc") }; var content = new FormUrlEncodedContent(pairs); var client = new HttpClient {BaseAddress = new Uri("http://localhost:6740")}; // call sync var response = client.PostAsync("/api/membership/exist", content).Result; if (response.IsSuccessStatusCode) { } 

Il y a un article sur votre question sur le site Web de asp.net. J’espère que cela peut vous aider.

Comment appeler une api avec asp net

http://www.asp.net/web-api/overview/advanced/calling-a-web-api-from-a-net-client

Voici une petite partie de la section POST de l’article

Le code suivant envoie une requête POST contenant une instance de produit au format JSON:

 // HTTP POST var gizmo = new Product() { Name = "Gizmo", Price = 100, Category = "Widget" }; response = await client.PostAsJsonAsync("api/products", gizmo); if (response.IsSuccessStatusCode) { // Get the URI of the created resource. Uri gizmoUrl = response.Headers.Location; } 

Vous pourriez faire quelque chose comme ça

 HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://localhost:6740/api/Membership/exist"); req.Method = "POST"; req.ContentType = "application/x-www-form-urlencoded"; req.ContentLength = 6; StreamWriter streamOut = new StreamWriter(req.GetRequestStream(), System.Text.Encoding.ASCII); streamOut.Write(strRequest); streamOut.Close(); StreamReader streamIn = new StreamReader(req.GetResponse().GetResponseStream()); ssortingng strResponse = streamIn.ReadToEnd(); streamIn.Close(); 

Et puis strReponse devrait contenir les valeurs renvoyées par votre webservice