首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >.NET HttpClient.如何发布字符串值?

.NET HttpClient.如何发布字符串值?
EN

Stack Overflow用户
提问于 2013-03-03 00:10:10
回答 5查看 443K关注 0票数 190

如何使用C#和HttpClient创建以下POST请求:

我的WEB API服务需要这样一个请求:

代码语言:javascript
复制
[ActionName("exist")]
[HttpPost]
public bool CheckIfUserExist([FromBody] string login)
{           
    return _membershipProvider.CheckIfExist(login);
}
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-03-03 00:22:42

代码语言:javascript
复制
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);
        }
    }
}
票数 460
EN

Stack Overflow用户

发布于 2013-03-03 00:19:32

以下是同步调用的示例,但您可以使用await-sync轻松更改为异步调用:

代码语言:javascript
复制
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)
{
}
票数 38
EN

Stack Overflow用户

发布于 2020-03-03 20:38:58

Here我找到了这篇文章,它是使用JsonConvert.SerializeObject()StringContent()HttpClient.PostAsync数据发送post请求

代码语言:javascript
复制
static async Task Main(string[] args)
{
    var person = new Person();
    person.Name = "John Doe";
    person.Occupation = "gardener";

    var json = Newtonsoft.Json.JsonConvert.SerializeObject(person);
    var data = new System.Net.Http.StringContent(json, Encoding.UTF8, "application/json");

    var url = "https://httpbin.org/post";
    using var client = new HttpClient();

    var response = await client.PostAsync(url, data);

    string result = response.Content.ReadAsStringAsync().Result;
    Console.WriteLine(result);
}
票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15176538

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档