【发布时间】:2020-10-13 07:41:58
【问题描述】:
我关注了这个答案https://stackoverflow.com/a/1877016/3681759
目标是通过HttpCient发送https://my.address.com/api?mail_from=FromEmailAddress&mail_to=ToEmailAdress
找到了这个解决方案:
private static readonly HttpClient client = new HttpClient { BaseAddress = new Uri("https://my.address.com") };
private async void Btn_send_Click(object sender, EventArgs e)
{
NameValueCollection queryString = System.Web.HttpUtility.ParseQueryString(string.Empty);
queryString.Add("mail_from", FromEmailAddress);
queryString.Add("mail_to", ToEmailAddress);
}
queryString返回我想要的=mail_from=FromEmailAddress&mail_to=ToEmailAddress
现在我想通过 HttpClient 发送它并报错:
var response = client.PostAsync("/api?", queryString).Result;
错误:cannot convert from 'System.Collections.Specialized.NameValueCollection' to 'System.Net.Http.HttpContent'
我知道我很接近,请给点建议?
更新以完成这项工作:
var response = client.PostAsync($"/api?{queryString}", null);
【问题讨论】:
-
您需要将查询字符串附加到URI字符串上,这是第一个参数。第二个参数是您要在请求正文中发布的内容,它需要是
HttpContent类型,这就是您的代码无法编译的原因..
标签: c# async-await query-string dotnet-httpclient