【发布时间】:2024-01-07 14:39:01
【问题描述】:
如何使用 HttpClient 并动态设置方法而无需执行以下操作:
public async Task<HttpResponseMessage> DoRequest(string url, HttpContent content, string method)
{
HttpResponseMessage response;
using (var client = new HttpClient())
{
switch (method.ToUpper())
{
case "POST":
response = await client.PostAsync(url, content);
break;
case "GET":
response = await client.GetAsync(url);
break;
default:
response = null;
// Unsupported method exception etc.
break;
}
}
return response;
}
目前看来您必须使用:
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.Method = "POST";
【问题讨论】:
-
可以httprequestmessage并设置方法、url和内容。然后使用httpclient的send方法
-
请注意,您不应针对每个请求
new HttpClient(),否则您可能会大规模耗尽您的套接字池。使用单个静态实例。
标签: c# .net http webrequest dotnet-httpclient