【发布时间】:2019-09-18 14:01:34
【问题描述】:
我的网站需要向远程服务器发布请求以使用其 API。
我在google中找到了一种使用HttpClient的方法,就像这样:
public async Task<string> HttpPostAsync(string uri, string url, List<KeyValuePair<string, string>> formData = null, string charset = "UTF-8", string mediaType = "application/x-www-form-urlencoded")
{
string tokenUri = url;
var client = new HttpClient();
client.BaseAddress = new Uri(uri);
HttpContent content = new FormUrlEncodedContent(formData);
content.Headers.ContentType = new MediaTypeHeaderValue(mediaType);
content.Headers.ContentType.CharSet = charset;
for (int i = 0; i < formData.Count; i++)
{
content.Headers.Add(formData[i].Key, formData[i].Value);
}
HttpResponseMessage resp = await client.PostAsync(tokenUri, content);
resp.EnsureSuccessStatusCode();
string token = await resp.Content.ReadAsStringAsync();
return token;
}
这种方式可行,但示例来自 2017 年 .NET Core 1.1 刚刚发布。
现在 .NET Core 3.0 已经可用,不知道有没有其他更好的方法来实现这一点?
【问题讨论】:
标签: c# asp.net-core .net-core