如何为 HttpClient 请求设置 Content-Type 标头?

2023-11-21

我正在尝试设置Content-Type的标头HttpClient我调用的 API 所需的对象。

我尝试设置Content-Type像下面这样:

using (var httpClient = new HttpClient())
{
    httpClient.BaseAddress = new Uri("http://example.com/");
    httpClient.DefaultRequestHeaders.Add("Accept", "application/json");
    httpClient.DefaultRequestHeaders.Add("Content-Type", "application/json");
    // ...
}

它允许我添加Accept标题但是当我尝试添加时Content-Type它抛出以下异常:

误用标头名称。确保请求标头与以下内容一起使用HttpRequestMessage,响应标头HttpResponseMessage, 和 内容标题与HttpContent对象。

我怎样才能设置Content-Type标头在一个HttpClient要求?


内容类型是内容的标头,而不是请求的标头,这就是失败的原因。AddWithoutValidation正如罗伯特·利维所建议的可能有效,但您也可以在创建请求内容本身时设置内容类型(请注意,代码片段添加了application/json在两个地方 - 用于 Accept 和 Content-Type 标头):

HttpClient client = new HttpClient();
client.BaseAddress = new Uri("http://example.com/");
client.DefaultRequestHeaders
      .Accept
      .Add(new MediaTypeWithQualityHeaderValue("application/json"));//ACCEPT header

HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, "relativeAddress");
request.Content = new StringContent("{\"name\":\"John Doe\",\"age\":33}",
                                    Encoding.UTF8, 
                                    "application/json");//CONTENT-TYPE header

client.SendAsync(request)
      .ContinueWith(responseTask =>
      {
          Console.WriteLine("Response: {0}", responseTask.Result);
      });
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何为 HttpClient 请求设置 Content-Type 标头? 的相关文章

  • 计算 Richtextbox 中所有单词的最有效方法是什么?

    我正在编写一个文本编辑器 需要提供实时字数统计 现在我正在使用这个扩展方法 public static int WordCount this string s s s TrimEnd if String IsNullOrEmpty s re
  • 复制 std::function 的成本有多高?

    While std function是可移动的 但在某些情况下不可能或不方便 复制它会受到重大处罚吗 它是否可能取决于捕获变量的大小 如果它是使用 lambda 表达式创建的 它依赖于实现吗 std function通常被实现为值语义 小缓
  • 在 LINQ 中按 Id 连接多表和分组

    我想按categoryId显示列表产品的名称组 这是我的代码 我想要我的视图显示结果 Desktop PC HP Red PC Dell Yellow PC Asus Red SmartPhone Lumia 720 Blue 我的组模型
  • 复制目录内容

    我想将目录 tmp1 的内容复制到另一个目录 tmp2 tmp1 可能包含文件和其他目录 我想使用C C 复制tmp1的内容 包括模式 如果 tmp1 包含目录树 我想递归复制它们 最简单的解决方案是什么 我找到了一个解决方案来打开目录并读
  • 如何使用 LINQ2SQL 连接两个不同上下文的表?

    我的应用程序中有 2 个数据上下文 不同的数据库 并且需要能够通过上下文 B 中的表的右连接来查询上下文 A 中的表 我该如何在 LINQ2SQL 中执行此操作 Why 我们正在使用 SaaS 产品来跟踪我们的时间 项目等 并希望向该产品发
  • 由 IHttpClientFactory 注入时模拟 HttpClient 处理程序

    我创建了一个自定义库 它会自动为依赖于特定服务的 Polly 策略设置HttpClient 这是使用以下方法完成的IServiceCollection扩展方法和类型化客户端方法 一个简化的例子 public static IHttpClie
  • 具有交替类型的可变参数模板参数包

    我想知道是否可以使用参数包捕获交替参数模式 例如 template
  • DbContext 和 ObjectContext 有什么区别

    From MSDN 表示工作单元和存储库模式的组合 使您能够查询数据库并将更改分组在一起 然后将这些更改作为一个单元写回存储 DbContext在概念上类似于ObjectContext 我虽然DbContext只处理与数据库的连接以及针对数
  • Qt - ubuntu中的串口名称

    我在 Ubuntu 上查找串行端口名称时遇到问题 如您所知 为了在 Windows 上读取串口 我们可以使用以下代码 serial gt setPortName com3 但是当我在 Ubuntu 上编译这段代码时 我无法使用这段代码 se
  • 使用自定义堆的类似 malloc 的函数

    如果我希望使用自定义预分配堆构造类似 malloc 的功能 那么 C 中最好的方法是什么 我的具体问题是 我有一个可映射 类似内存 的设备 已将其放入我的地址空间中 但我需要获得一种更灵活的方式来使用该内存来存储将随着时间的推移分配和释放的
  • CMake 无法确定目标的链接器语言

    首先 我查看了this https stackoverflow com questions 11801186 cmake unable to determine linker language with c发帖并找不到解决我的问题的方法 我
  • “接口”类似于 boost::bind 的语义

    我希望能够将 Java 的接口语义与 C 结合起来 起初 我用过boost signal为给定事件回调显式注册的成员函数 这非常有效 但后来我发现一些函数回调池是相关的 因此将它们抽象出来并立即注册所有实例的相关回调是有意义的 但我了解到的
  • Cmake 链接共享库:包含库中的头文件时“没有这样的文件或目录”

    我正在学习使用 CMake 构建库 构建库的代码结构如下 include Test hpp ITest hpp interface src Test cpp ITest cpp 在 CMakeLists txt 中 我用来构建库的句子是 f
  • 使用 C# 读取 Soap 消息

  • ASP.NET Click() 事件在第二次回发时不会触发

    我有一个 ASP NET Web 表单 我第一次提交表单时 会引发 提交按钮单击 事件 表单返回到浏览器时可能会出现验证错误 或者可以选择使用新值再次提交表单 当再次提交表单时 提交按钮单击 事件永远不会触发 Page Load 触发 但按
  • 方法优化 - C#

    我开发了一种方法 允许我通过参数传入表 字符串 列数组 字符串 和值数组 对象 然后使用这些参数创建参数化查询 虽然它工作得很好 但代码的长度以及多个 for 循环散发出一种代码味道 特别是我觉得我用来在列和值之间插入逗号的方法可以用不同的
  • 无法接收 UDP Windows RT

    我正在为 Windows 8 RT 编写一个 Windows Store Metro Modern RT 应用程序 需要在端口 49030 上接收 UDP 数据包 但我似乎无法接收任何数据包 我已按照使用教程进行操作DatagramSock
  • WebSocket安全连接自签名证书

    目标是一个与用户电脑上安装的 C 应用程序交换信息的 Web 应用程序 客户端应用程序是 websocket 服务器 浏览器是 websocket 客户端 最后 用户浏览器中的 websocket 客户端通过 Angular 持久创建 并且
  • 导致回发到与弹出窗口不同的页面

    我有一个主页和一个详细信息页面 详细信息页面是从主页调用的 JavaScript 弹出窗口 当单击详细信息页面上的 保存 按钮时 我希望主页 刷新 是否有一种方法可以调用主页的回发 同时还可以从详细信息页面维护保存回发 Edit 使用win
  • 如何从 ODBC 连接获取可用表的列表?

    在 Excel 中 我可以转到 数据 gt 导入外部数据 gt 导入数据 然后选择要使用的数据源 然后在提供登录信息后 它会给我一个表格列表 我想知道如何使用 C 以编程方式获取该列表 您正在查询什么类型的数据源 SQL 服务器 使用权 看

随机推荐

  • Erlang/ets:在收到“错误的参数”后重置 ets 表?

    我一直在学习如何使用 ets 但困扰我的一件事是 偶尔 ets match抛出一个bad argument 并且 从他们开始 所有后续调用 甚至以前有效的调用 也会抛出bad argument gt ets match Tid r 1 1
  • 当UITextView的文本超出1行时展开UITextView和UITableView

    我有一个 UITableView 每个单元格内有两个并排的 UITextView 我希望 UITableViewCell 和 UITextView 的高度都增加 以便用户不需要在 UITextView 内滚动 这是我尝试过的 在 Table
  • java 类型擦除与 Field#getGenericType 和 Method#getGenericReturnType

    据我了解 泛型是Java的编译时特性 编译后的字节代码中不存在参数化类型信息 我现在发现了 Field getGenericType 和 Method getGenericReturnType 方法 从而粉碎了我的世界观 请帮我把它拼凑起来
  • Raphael中的SVG文件可以使用吗?

    我有一个 SVG 文件 我想通过 Raphael 显示 每个 svg 文件都是我试图绘制的树中的一个节点 树的实际连接将由 raphael 进行 我尝试过类似的东西 var vector image paper image test svg
  • 在Python中,在运行时确定对象是否是类(旧类型和新类型)实例

    我正在尝试使用 h5py 模块将一组深度嵌套的类 属性 绑定方法等写入 HDF5 文件以进行长期存储 我真的很接近 我似乎无法解决的唯一问题是在运行时以编程方式找出一种方法来确定某物是否是类实例类型 而不是列表 int 等 我需要递归到类实
  • 同步,何时使用或不使用?

    我开始学习Java中的并发和线程 我了解同步的基础知识 即它的作用 从概念上讲 我理解它提供了对 Java 中多个线程共享资源的互斥访问 但是 当面对像下面这样的示例时 我很困惑同步它是否是一个好主意 我知道代码的关键部分应该同步 并且这个
  • 将逗号分隔的相关项列表注释到 Django 查询集上

    从表面上看 这似乎是一个奇怪的请求 但我需要一个以逗号分隔的模型相关项目字符串 以任何教程中的作者 书籍模型为例 这就是我当前正在做的事情 authors Authors objects all prefetch related books
  • `$(document).on("click", "a"` 和 `$("a").click(` [重复]

    这个问题在这里已经有答案了 谁能告诉我这两个脚本之间有什么区别 我不是 javascript jquery 专家 document on click a function i this data value alert i a click
  • DragTabFrame 关闭不一致

    下面的代码应该有点像您在 FF IE 或 Chrome 等浏览器中看到的多文档界面 MDI 它在选项卡式窗格中显示 文档 作为间隔的黑色缓冲图像 以便可以根据用户选择将它们从窗格拖到新的 或现有的 窗口中 但它在没有更多选项卡时关闭框架以及
  • 如何加速 Python 中的异步请求

    我想从网站下载 抓取 5000 万条日志记录 我没有一次性下载 5000 万个 而是尝试使用以下代码一次下载 1000 万个 但它一次只能处理 20 000 个 超过这个数量会引发错误 因此它变得非常耗时下载那么多数据 目前下载20000条
  • 变量可以在 Sass 文件的 import 语句中使用吗?

    在更少的情况下我可以做这样的事情 basePath some crazy project path to repeat less import basePath less less 所以我尝试在 Sass 中做同样的事情 basePath
  • 捕获关闭 gtk.window

    我有 gtk Window 我需要捕获关闭 我需要关闭显示消息对话框 如果应该关闭窗口 则单击 是 除非有显示窗口 谢谢 处理删除事件信号 返回 False 关闭 True 取消
  • 在固定的时间间隔后调用特定方法

    在我的android应用程序中 我想定期调用特定的方法 即 每 5 秒后 我该怎么做 您可以使用Timer用于方法的固定周期执行 这是代码示例 final long period 0 new Timer schedule new Timer
  • 复制完成后,CloudBlockBlob.StartCopyAsync 是否返回?

    有多种方法可以复制 Azure Blob 存储块 有同步和异步版本StartCopy 还有一个BeginStartCopy其中还有完成回调 The BeginStartCopy方法明确指出复制完成时执行回调 The StartCopy两种方
  • 在 JavaFX 中保存为 jpg 的图像是粉红色的

    我想将 ImageView 中的图像保存到具有不同分辨率的文件中 将其作为 png 结果如预期 至于 jpg 我将所有文件设为粉红色 诀窍在哪里 这是代码 Object imagesFromFotoListView ta myFotoLis
  • 如何编写一个只接受一个枚举变量作为输入的函数?

    我有一个枚举 enum Group OfTwo first usize second usize OfThree one usize two usize three usize 我想编写一个仅以参数作为参数的函数Group OfTwo变体
  • CSS3 对 HTA 的支持

    HTA 支持 HTML5 和 CSS3 吗 如果我计划仅在 Windows 操作系统上使用我的应用程序 这是一个执行一些基本文件处理的简单应用程序 HTA 是一个可行的选择吗 如果我使用简单的平面文件 文本文件 来存储 HTA 的数据 是否
  • 如何在Angular中实现多级路由?

    我正在做一个小项目 以便更多地了解 Angular 但我真的不知道如何实现多级路由 我读过文档关于路由器组件的新版本以及 Stack Overflow 上的一些其他主题 first second third 但我找不到解决我的问题的方法 让
  • 透明、无边框的 ProgressDialog

    我有一个ProgressDialog我已将其放置在屏幕底部 以免与徽标重叠 我想做的是为ProgressDialog删除背景和边框 我在这里没有任何运气 有谁知道如何应用这种风格 您是否尝试过将背景设置为透明颜色 这个答案给出了详细的代码示
  • 如何为 HttpClient 请求设置 Content-Type 标头?

    我正在尝试设置Content Type的标头HttpClient我调用的 API 所需的对象 我尝试设置Content Type像下面这样 using var httpClient new HttpClient httpClient Bas