gpt4 book ai didi

c# - HttpRequestMessage 多个自定义 header 相互覆盖

转载 作者:太空宇宙 更新时间:2023-11-03 18:05:40 25 4
gpt4 key购买 nike

我正在努力了解如何将 MULTIPLE header 添加到 HttpRequestMessage。我的意思是我掌握了基础知识,如果我做一个标题它可以工作,但是多个标题,最后一个是什么棒,所有其他的都被覆盖了?

因此,例如 Accept header 将被覆盖,但授权 header 将被保留。

HttpRequestMessage httpreqmsg = new HttpRequestMessage();
httpreqmsg.Headers.Add("Accept", "CustomAccept");
httpreqmsg.Headers.Add("Authorization", "asdfas#%fwqerq@werfds...");

现在 HttpRequestMessage 具有签名的重载
.Add(string, List<string>) 

如果您有一个具有多个值的名称,那很好,但是您如何处理多个标题。 TryAddWithoutValidation 是否具有与上述相同的重载?

TIA

太好了...所以我在帖子中犯了一个错误。我不认为这很重要,但确实如此。我正在对 Controller 进行单元测试,因此没有创建 HttpClient 对象。

最佳答案

似乎“接受”标题是保留的。无论我尝试为其分配什么值,都会引发 FormatException。

如果您将代码更改为此,您将获得两个标题。

        HttpRequestMessage httpreqmsg = new HttpRequestMessage();
httpreqmsg.Headers.Add("Lolz", "CustomAccept");
httpreqmsg.Headers.Add("Authorization", "SomeValue");

foreach (var item in httpreqmsg.Headers)
{
Console.WriteLine(item.Key + " : " + item.Value);
}

此外,您示例中的“授权”值无效,但我猜这只是随 secret 钥混搭:)

关于c# - HttpRequestMessage 多个自定义 header 相互覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31306901/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com