当前位置: 首页 > news >正文

C# HttpClient请求URL重定向后丢失Authorization认证头信息 .Net Core Web Api

问题:
使用.Net 入库Doris请求FE端口后,FE响应重定向到其他BE节点出现的认证失败问题。

搜查官方文档后发现:
HttpWebRequest.AllowAutoRedirect Property (System.Net) | Microsoft Learn

微软提供的http类库HttpClient (HttpWebRequest\WebClient已不推荐使用,用HttpClient代替)有备注提醒:当使用自动重定向时,认证头会自动清除,目的是出于安全问题的考虑,在重定向时将认证信息清楚了。至此问题清晰,找类库代替。
Doc
解决方案:

string url = "http://127.0.0.1:8080/test/api";var response = url.WithHeader("Content-Type", "application/json").WithHeader("Authorization","Basic").WithSettings(s => s.Redirects.Enabled = true).WithSettings(s => s.Redirects.ForwardAuthorizationHeader = true).WithSettings(s => s.Redirects.ForwardHeaders = true).WithHeader("Expect", "100-continue").PutStringAsync(File.ReadAllText(filePath)).GetAwaiter().GetResult();
// Handle the response
Console.WriteLine(response.GetStringAsync().GetAwaiter().GetResult());

NuGet 安装 Flurl库


http://www.mrgr.cn/news/45961.html

相关文章:

  • 后端指的是什么
  • Llama3 AI应用开发实战指南
  • 岸汇率和离岸汇率
  • [LeetCode] 315. 计算右侧小于当前元素的个数
  • GPT系列模型从GPT-1到InstructGPT的技术演进与未来展望
  • Java类之间的关系
  • springboot-网站开发-linux服务器部署jar格式图片存档路径问题
  • uniapp控制点击view事件,不包含子view区域
  • MATLAB中linsolve函数用法
  • 使用 YOLOv 11 模型实现实时手语检测 可同时识别多个手语手势
  • 如何开发APP?
  • 尚硅谷rabbitmq 2024 集群ui 第49节 答疑二
  • Word 中脚注和尾注的区别有哪些?如何正确使用它们?
  • 2024三掌柜赠书活动第三十二期:渗透测试理论与实践
  • 尚硅谷rabbitmq 2024 集群ui 第49节 答疑一
  • 【Linux 从基础到进阶】大数据集群的监控与管理
  • C语言贪吃蛇
  • HDLBits中文版,标准参考答案 | 3.2.5 Finite State Machines | 有限状态机(1)
  • 【Python】Twisted:让自定义网络应用开发变得简单
  • LeetCode题练习与总结:生命游戏--289