c# - 如何使用 json 正文发送 GET 请求?
问题描述
有什么办法可以使用 c# 发送带有 JSON 正文的 GET 请求吗?我正在调用 API 以使用 GET 请求检索项目列表,但我必须以 JSON 格式传递 customer_id。我能够在 Postman 和 Python 中成功地做到这一点。但是,我正在使用的旧版应用程序是作为 c# .NET winform 构建的。我可以使用 HttpClient 进行其他调用,但经过一些研究,我发现这个类不允许使用主体的 GET 请求,除非使用 CORE。还有其他选择吗?
解决方案
根据Ian Kemp对这个问题的回答,这可以使用System.Net.Http.WinHttpHandler库在 .NET Framework 项目中完成。(我只是在这里添加答案的相关部分,但我建议去查看他的完整答案)
首先,从 Nuget 安装System.Net.Http.WinHttpHandler库,然后将其用作您的 http 客户端处理程序,如下所述:
var handler = new WinHttpHandler();
var client = new HttpClient(handler);
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);
//Handle the response as you see fit
推荐阅读
- c# - 从 html 获取 href 标记内部文本(html 敏捷包)
- kotlin - 在 Kotlin `when` 语句(或其他分支构造)中包含函数或 lambda 作为条件的最简洁方法是什么?
- r - 如何使用 R 计算多个变量之间的相关性
- python - 当我使用 Beautifulsoup 时,为什么网页没有刷新我的价值?
- python - 如何使用 Python 导入多个 JSON 文件并将它们转储到同一个 CSV 中?
- pandas - 使用多变量条件比较数据框
- asp.net-mvc - 使用 MimeMessage 和 MailKit 时来自地址的电子邮件更改
- javascript - 更新嵌套数组和对象中的对象。对象-->数组-->对象-->数组-->“对象”
- java - 为什么两个 Logger 在 Log4j 中不按照级别拆分消息?
- javascript - 向 GA 发送事件的正确方法是什么?