wake-up-neo.com

.NET HttpClient. Gewusst wie: POST Zeichenfolgenwert?

Wie kann ich mit C # und HttpClient die folgende POST Anfrage erstellen: User-Agent: Fiddler Content-type: application/x-www-form-urlencoded Host: localhost:6740 Content-Length: 6

Ich benötige eine solche Anfrage für meinen WEB API Service:

[ActionName("exist")]
[System.Web.Mvc.HttpPost]
public bool CheckIfUserExist([FromBody] string login)
{           
    bool result = _membershipProvider.CheckIfExist(login);
    return result;
}
159
Ievgen Martynov
using System;
using System.Collections.Generic;
using System.Net.Http;

class Program
{
    static void Main(string[] 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<string, string>("", "login")
            });
            var result = await client.PostAsync("/api/Membership/exists", content);
            string resultContent = await result.Content.ReadAsStringAsync();
            Console.WriteLine(resultContent);
        }
    }
}
403
Darin Dimitrov

Im Folgenden finden Sie ein Beispiel für einen synchronen Aufruf. Mit await-sync können Sie jedoch problemlos zu asynchronem Aufruf wechseln:

var pairs = new List<KeyValuePair<string, string>>
            {
                new KeyValuePair<string, string>("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)
{
}
31
cuongle

Es gibt einen Artikel über Ihre Frage auf der Website von asp.net. Ich hoffe es kann dir helfen.

Wie man eine API mit asp net aufruft

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

Hier ist ein kleiner Teil aus dem Abschnitt POST des Artikels

Der folgende Code sendet eine POST -Anforderung, die eine Produktinstanz im JSON-Format enthält:

// 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;
}
6
oneNiceFriend