【发布时间】:2021-12-30 12:07:23
【问题描述】:
我在下面给出了示例代码,我正在调用 Web API,但我很难在控制台应用程序中传递参数。
C#代码:
HttpClient client = new HttpClient();
var responseTask = client.GetAsync("<web api name>");
responseTask.Wait();
HttpRequestMessage rm = new HttpRequestMessage();
var headers = rm.Headers;
client.DefaultRequestHeaders.Add("client_id", "1234xv");
client.DefaultRequestHeaders.Add("client_secret", "7dfdfsd");
if (responseTask.IsCompleted)
{
var result = responseTask.Result;
if (result.IsSuccessStatusCode)
{
var messageTask = result.Content.ReadAsStringAsync();
messageTask.Wait();
Console.WriteLine("Message from Web API:" + messageTask.Result);
Console.ReadLine();
}
}
【问题讨论】:
-
尝试使用 (var httpClient = new HttpClient())
-
您应该使用
await进行异步调用,而不是.Result或Wait() -
在将参数添加到 HTTP 请求标头之前,您过早地进行 GET 调用。 Web API 是否需要标头或查询字符串或正文中的参数?
标签: c#