c# - 如何在 c# 中使用 HttpClient GetAsync 方法传递请求内容
问题描述
如何在HttpClient.GetAsync
方法中传递请求内容?我需要根据请求内容获取数据。
[HttpGet]
public async Task<HttpResponseMessage> QuickSearch()
{
try
{
using (HttpClient client = new HttpClient())
{
client.DefaultRequestHeaders.Accept.Clear();
HttpResponseMessage response =await client.GetAsync("http://localhost:8080/document/quicksearch");
if (response.IsSuccessStatusCode)
{
Console.Write("Success");
}
解决方案
如果您使用的是 .NET Core,标准的 HttpClient 可以开箱即用地执行此操作。例如,要发送带有 JSON 正文的 GET 请求:
HttpClient client = ...
...
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("some url"),
Content = new StringContent("some json", Encoding.UTF8, ContentType.Json),
};
var response = await client.SendAsync(request).ConfigureAwait(false);
response.EnsureSuccessStatusCode();
var responseBody = await response.Content.ReadAsStringAsync().ConfigureAwait(false);
推荐阅读
- javascript - 在输入字段问题中实现 css 下拉列表
- angular - Angular 7 从 Angular 库中导入原始扩展
- flutter - 如何在小部件树中保留块实例
- azure - 未找到应用程序依赖项清单中指定的程序集
- multithreading - AsyncHttpClient 创建了多少线程?
- javascript - jQuery/Ajax 帖子中的表单提交不会第二次触发
- java - 在实例化阶段之前/期间检索 Bean 类
- python - Python 是否有类似于 PowerShell 的通配符?
- qt - Yocto:QtMultimedia 不构建 qtmultimedia-plugin
- python - 列表索引超出范围错误仅在在线抓取时发生