当前位置: 首页 > 知识库问答 >
问题:

字符串授权的内容头删除失败

霍伟彦
2023-03-14

以下测试无法解释地失败:

    [Test]
    public void CrazyAssHttpRequestMessageTest()
    {
        var subject = new HttpRequestMessage()
                          {
                              Method = HttpMethod.Get,
                              Content = new StringContent("some content")
                          };
        subject.Content.Headers.Remove("Authorization");
    }

例外情况是:

系统InvalidOperationException:错误使用的标头名称。确保请求头与HttpRequestMessage一起使用,响应头与HttpResponseMessage一起使用,内容头与HttpContent对象一起使用。

为什么啊?任何其他标题似乎工作正常,用其他东西替换授权,一切都可以。

共有1个答案

梁丘钊
2023-03-14

HttpContentHeaders类只支持HTTP标头的子集与内容相关的标头。以这种方式拆分它们似乎有点奇怪,但这是框架的工作方式。

结果是,请求中永远不会有授权头。所容纳之物标题

如果尝试从HttpRequestHeaders或HttpResponseHeaders中删除“Content Type”,或者尝试在不调用TryAddWithoutValidation的情况下向这些集合添加意外的标头,则会出现完全相同的错误。更令人沮丧的是,如果您试图检查无效的头,Contains()将抛出。您可以检查是否存在,而无需抛出,而不用担心使用HttpHeaders的头集合的确切类型。TryGetValues,或者只使用请求。所容纳之物标题。任何(x)=

上面链接的类有一个它们明确支持的标题列表(作为强类型属性),例如HttpContentHeaders。内容类型。

 类似资料:
  • 问题内容: 我有一个看起来像这样的字符串: 我如何删除第一个; 但只有在字符串的开头找到它? 使用,将删除 所有 。 问题答案: 普通格式,不带正则表达式: 花费: 0.0369毫秒 (0.000,036,954秒) 与: 注意到: 0.1749毫秒 (0.000,174,999秒)第一次运行(编译),和 0.0510毫秒 (0.000,051,021秒)之后。 显然,已在我的服务器上进行了分析。

  • Removing a delegation key As a repository owner, remove a key from all delegation roles: ❯ notary -D -v -s https://127.0.0.1:4443 -d ~/.docker/trust delegation purge <aws_account_id>.dkr.ecr.us-east-

  • 问题内容: 我有一个由三部分组成的字符串。我希望字符串是(更改),单独的部分(不更改)和最后一个更改的部分。我要删除分隔部分和结尾部分。分离的部分是“-”,所以我想知道的是,是否有办法删除字符串中一定部分之后的所有内容。 这种情况的一个示例是,如果我想将其转换为:“ Stack Overflow-一个地方来问问题”:任何帮助表示赞赏! 问题答案: 例如,您可以这样做: 要么 (并添加相关的错误处理

  • 所以目前我的VBA代码如下所示: 有了这个输出,这正是公式所要做的,这是很棒的!我的问题是,对于B列中的结果,我不能全神贯注于此(我是VBA宏的新手,试图尽可能地学习),它们都以数字结尾,数字之间有。我将如何调整我的代码,使其删除该部分文本?所以结果看起来像: 正如您从我要查找的结果中可以看到的,与给出的结果相比,在末尾被删除。我在VBA之外玩了一圈,发现这是可行的,但它本质上是一个两步过程:

  • 问题内容: 我有包含例如的数据帧: 我需要删除(包括)两个::的所有内容,以便最终得到: 我尝试了str.trim(似乎不存在)和str.split,但没有成功。最简单的方法是什么? 问题答案: 您可以像平常一样使用。只需对string进行拆分,并索引从该方法创建的列表: 这是一个非熊猫解决方案: 编辑:这是上面发生的情况的分步说明: 我建议您查看pandas.Series.str文档,或者更好的

  • 问题内容: 有什么方法可以删除某个角色之后的所有内容,或者只是选择该角色之前的所有内容?我从href到“?”都得到了值,并且总是会有不同数量的字符。 像这样 我只希望href是,所以我想删除“?”之后的所有内容。 我现在正在使用这个: 问题答案: 我还应该提到,本机字符串函数比正则表达式快得多,后者仅应在必要时才使用(这不是其中一种情况)。 更新代码以不添加“?”: