HttpClient / .NET Core 不支持的媒体类型

2024-01-02

我正在使用支持 JSON 格式的 POST 请求的 RESTful API。 API 自己的 Swagger 文档显示这是对其端点之一的有效调用:

curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '<JSON>' '<URL>'

Where <JSON> and <URL>是有效的 JSON 消息和端点的 URL。从这个 Swagger 文档中我了解到,任何发送到此端点的帖子都必须包含Content-Type and Accept标题设置为application/json.

我正在编写一个将使用 .NET Core 的 C# 方法HttpClient发布到此端点的类。但是,在发布消息后,我收到了 HTTP 415 错误代码,表示媒体类型不受支持。从我迄今为止所了解到的情况来看,Content-Type标题必须在您的内容中设置(我正在使用StringContent类)和Accept标题只能设置在HttpClient标头。这是我的具体例子:

var httpContent = new StringContent("<JSON>", Encoding.UTF32, "application/json");
var httpClient = new HttpClient();

httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

var responseMessage = httpClient.PostAsync("<URL>", httpContent);
var result = responseMessage.Result;

再说一次,哪里<JSON> and <URL>是有效的 JSON 消息和端点的 URL。在我看来,我提到的第三行httpCllient.DefaultRequestHeaders,不添加Accept: application/json我的请求的标题。如果我手动将标题添加到httpContent.Headers集合,我收到一个运行时错误,告诉我Accept不是我可以添加到的标题httpContent。这就是为什么我希望将其添加到httpClient反而。

我已经使用 Swagger 验证了 URL 和 JSON,所以我知道它们是正确的。另外,请求是通过 HTTPS 完成的,因此我无法使用 Fiddler 来验证Accept正在包含标题。虽然我可以在 Fiddler 中启用解密,但这完全是另一回事。我不想将他们的根证书添加到我的系统中,特别是如果我缺少一些相当简单的东西(这似乎是)。

任何指示将不胜感激。谢谢。


如果你尝试一下呢:

var httpContent = new StringContent(jsonData, Encoding.UTF8, "application/json");

您不需要添加 Accept 标头。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HttpClient / .NET Core 不支持的媒体类型 的相关文章

  • setContextProperty 和对象的 setProperty 之间的区别

    我现在真的很困惑 有什么区别 QQmlApplicationEngine engine engine rootContext setContextProperty myObject userData and object gt setPro
  • 在动态事件处理程序中引用“this”

    在我的 myClass 类中 我使用 Reflection Emit 为 myClass 类成员之一动态编写事件处理程序 我已经成功地做到了这一点 现在 我想修改事件处理程序以调用 myClass 类中的实例方法之一 但是 我无法弄清楚如何
  • 如何将包含 5000 条记录的 Excel 文件插入到 documentDB 中?

    我有一个 Excel 文件 最初约有 200 行 我能够将 Excel 文件转换为数据表 并且所有内容都正确插入到 documentdb 中 Excel 文件现在有 5000 行 在插入 30 40 条记录后不会插入 其余所有行不会插入到
  • C# 创建函数队列

    我写了一个名为 QueueManager 的类 class QueueManager Queue functionsQueue public bool IsEmpty get if functionsQueue Count 0 return
  • 起订量要求?违背了目的?

    是否需要虚拟化您想要模拟的所有属性访问器就违背了模拟的目的 我的意思是 如果我必须修改我的对象并虚拟化我想要模拟的每个访问器 我难道不能继承我的类并自己模拟它吗 你的问题非常有效 但如果你仔细想想 没有其他方法可以模拟课程 如果你采用一个接
  • 如何使用 MVVM 更新 WPF 中编辑的数据? [复制]

    这个问题在这里已经有答案了 我正在为聊天应用程序构建 UI 设计 在尝试更新所选联系人的消息时遇到问题 选择现有联系人 选择编辑选项 然后编辑其属性 例如用户名和图像 后 唯一进行的更改是联系人的用户名和图像 我仍然想更改 MessageM
  • 为什么这个函数指针赋值在直接赋值时有效,但在使用条件运算符时无效?

    本示例未使用 include 在 MacOS10 14 Eclipse IDE 上编译 使用 g 选项 O0 g3 Wall c fmessage length 0 假设这个变量声明 int fun int 这无法通过 std touppe
  • 静态类变量与外部变量相同,只是具有类作用域吗?

    在我看来 静态类变量与外部变量相同 因为你只需要declare它在static int x extern int x语句 并在其他地方实际定义它 通常在 cpp 文件中 静态类变量 h file class Foo static int x
  • 如何在不实例化一个类的情况下检查它是否继承了另一个类? [复制]

    这个问题在这里已经有答案了 假设我有一个如下所示的类 class Derived some inheritance stuff here 我想在我的代码中检查类似的内容 Derived is SomeType 但看起来像is运算符需要 De
  • 从 future 中检索值时的 SIGABRT

    我在使用 C 11 future 时遇到问题 当我打电话时wait or get 关于返回的未来std async 程序接收从mutex标头 可能是什么问题呢 如何修复它 我在 Linux 上使用 g 4 6 将以下代码粘贴到 ideone
  • 如何在 Asp.net Gridview 列中添加复选框单击事件

    我在 asp 中有一个 gridview 其中我添加了第一列作为复选框列 现在我想选择此列并获取该行的 id 值 但我不知道该怎么做 这是我的 Aspx 代码
  • 如何使用 wpf webbrowser 将数据发布到 Web 服务器

    我想从数据库获取数据并使用它来让用户登录到网站 我有一个包含 Web 浏览器控件的 wpf 页面 我有这样的代码 用于将用户登录到用 php 编写的网站
  • 在 MATLAB 中创建共享库

    一位研究人员在 MATLAB 中创建了一个小型仿真 我们希望其他人也能使用它 我的计划是进行模拟 清理一些东西并将其变成一组函数 然后我打算将其编译成C库并使用SWIG https en wikipedia org wiki SWIG创建一
  • C# datagridview 列转入数组

    我正在用 C 构建一个程序 并在其中包含一个 datagridview 组件 datagridview 有固定数量的列 2 我想将其保存到两个单独的数组中 但行数确实发生了变化 我怎么能这样做呢 假设一个名为 dataGridView1 的
  • 在简单注入器中注册具有多个构造函数和字符串依赖项的类型

    我正在尝试弄清楚如何使用 Simple Injector 我在项目中使用了它 注册简单服务及其组件没有任何问题 但是 当组件具有两个以上实现接口的构造函数时 我想使用依赖注入器 public DAL IDAL private Logger
  • 系统错误 124 - SHFileOperation 的 ERROR_INVALID_LEVEL

    我在使用时遇到问题SHFileOperation SHFileOperation SHFILEOPSTRUCT https stackoverflow com questions 9191415 shfileoperation shfile
  • 错误左值需要作为赋值C++的左操作数

    整个程序基本上只允许用户移动光标 如果用户位于给定的坐标范围 2 2 内 则允许用户键入输入 我刚刚提供了一些我认为足以解决问题的代码 我不知道是什么导致了这个问题 你能解释一下为什么会发生吗 void goToXY int int 创建一
  • 纯虚函数可能没有内联定义。为什么?

    纯虚函数是那些虚函数并且具有纯说明符 0 第 10 4 条第 2 款C 03 的内容告诉我们什么是抽象类 顺便说一句 如下 注意 函数声明不能 同时提供纯说明符和定义 尾注 示例 struct C virtual void f 0 ill
  • 启动画面后主窗口出现在其他窗口后面

    我有一个带有启动屏幕的 Windows 窗体应用程序 当我运行该应用程序时 启动屏幕显示正常 消失并加载应用程序的主窗体 但是 当我加载主窗体时 它出现在包含该应用程序的 Windows 资源管理器目录下 这是运行启动画面然后运行主窗体的代
  • 无法使 Polly 超时策略覆盖 HttpClient 默认超时

    我正在使用 Polly 重试策略 并且正如预期的那样 在重试过程中HttpClient达到 100 秒超时 我尝试了几种不同的方法来合并 Polly 超时策略 将超时移至每次重试而不是总计 但 100 秒超时仍然会触发 我读过大约 5 个

随机推荐

  • 不带数据库名称的 MySql ConnectionString 在 C# 中创建数据库

    我遇到了一种情况 我确实需要使用进入 mysql 服务器所需的连接字符串在 MYSQL 中创建一个数据库 到目前为止 我已经使用了带有数据库名称的连接字符串 所以在这种情况下 执行我的连接字符串结构是什么 创建数据库查询到 mysql 服务
  • 使用 Stack 作为全局包管理器的推荐方法

    例如 我想在全球范围内安装一些 Haskell 库hindent我的编辑器的 Haskell 集成使用了它 推荐的方法是什么 我以为stack install hindent是执行此操作的正确方法 然而 后来我想更新我的软件包 发现有没办法
  • 如何以编程方式放大/缩小 WebView 的内容?

    我正在尝试以编程方式放大 缩小应用程序中 WebView 对象的内容 但我找不到一个好的方法来做到这一点 有人可以给我一些帮助吗 如果能有一些代码示例就更好了 最后 lollypop 支持 Zoomby 但在 API 21 下 zoomin
  • React-Native:如何打开本地捆绑的二进制文件

    我正在编写一个反应本机应用程序 我希望它使用包含设备固件更新的 zip 文件进行部署 在让用户发送更新之前 我需要我的代码来打开 zip 并对其内容进行一些验证 我发现了很多 zip 处理 NPM 包 所以我需要做的就是加载文件内容 这样我
  • kubectl run 命令失败并出现连接被拒绝错误

    我正在关注 kubernetes io 上的 hellonode 教程 http kubernetes io docs hellonode http kubernetes io docs hellonode 我在尝试执行 创建您的 Pod
  • 无法使用 Actions SDK 读取意图

    我的 action json 文件中有以下操作 description Recommend movies initialTrigger intent GIVE RECOMMENDATION queryPatterns queryPatter
  • Django 1.4 - 重定向到非 HTTP url

    我们有一个重定向到非 HTTP url 方案的视图 它在 iOS 应用程序中使用 但由于我们已经升级到 Django1 4 因此执行此重定向代码时会发生崩溃 它崩溃了 myyrlscheme 的可疑操作 使用方案 appdev 不安全地重定
  • 在Linux环境下运行.bat

    有没有办法在Linux环境下运行 bat文件 我有几个 bat 文件 它们的目的是调用 mvn install install file 脚本 因此 脚本中不依赖任何操作系统 谢谢你 您可以使用wine http www winehq or
  • Perl foreach 循环变量范围

    我是 Perl 新手 在编写以下代码片段后对 Perl 作用域规则感到困惑 usr bin perl my i 0 foreach i 5 10 print i n print Outside loop i i n 我预计输出如下 5 6
  • 为组织添加用户时常见连接配置文件丢失错误

    我正进入 状态 Error Common connection profile is missing this client s organization and certificate authority 运行时出错gateway get
  • 如何通过gdb调试nodejs插件

    Heading 我正在编写一个 Node Js C 插件 当我尝试通过在互联网上搜索的方式调试我的 C 添加时 它根本无法工作 我从互联网得到的是 gdb节点 设置参数app js 跑步 我明白了 usr local bin node 不是
  • 如何确定“BUS-Error”的原因

    我正在开发一个带有 yocto 发行版和 python 2 7 3 的 variscite 板 我有时会得到总线错误来自 python 解释器的消息 我的程序在错误发生之前至少几个小时或几天正常运行 但是当我得到它一次时 当我尝试重新启动程
  • 使用 JavaScript 编辑 CSS 渐变

    我正在 Firefox 中通过 JavaScript 编辑 CSS 渐变 我有用户可以输入的输入框 1 方向 2 第一种颜色 3 第二种颜色 这是html
  • 滑动最后一个视图控制器后,如何关闭/弹出 UIPageViewController?

    滑动最后一个视图控制器后 如何关闭 弹出 UIPageViewController 基本上想要使用图像制作教程风格的分页视图 并在用户从上一页滑动到 下一页 后关闭 UIViewController pageViewController U
  • Applet 生命周期:init() 和 start() 以及 destroy() 和 stop() 之间的实际区别是什么?

    The javadoc http download oracle com javase 6 docs api java applet Applet html and tutorial http download oracle com jav
  • Spring Boot Web 服务客户端身份验证

    我的目标是调用需要身份验证的 Web 服务 当我在浏览器中打开其 wsdl 时 浏览器会要求我登录名 密码 作为基础 我使用来自this https spring io guides gs consuming web service 教程
  • 如何防止docker搜索docker hub

    我正在建立一些 docker 主机在生产环境中运行 我们希望所有镜像都必须通过容器管道 并且我们不希望能够从 Docker Hub 中提取镜像 安全问题 如何阻止 docker 从 dockerhub 提取镜像 理想情况下 我想通过配置 d
  • 每组具有归一化 y 轴的计数图

    我想知道是否可以创建 Seaborn 计数图 但不是显示 y 轴上的实际计数 而是显示其组内的相对频率 百分比 如指定的那样 hue范围 我用以下方法解决了这个问题 但我无法想象这是最简单的方法 Plot percentage of occ
  • 如何在 Tomcat 中部署 Spring Integration 应用程序?

    我已经经历了 10 分钟内进行 Spring 集成 http blog springsource com 2009 02 13 982 设置基本 Spring Integration 应用程序的教程 我想在 Tomcat 中部署此应用程序
  • HttpClient / .NET Core 不支持的媒体类型

    我正在使用支持 JSON 格式的 POST 请求的 RESTful API API 自己的 Swagger 文档显示这是对其端点之一的有效调用 curl X POST header Content Type application json