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

C# HttpClient请求URL重定向后丢失Authorization认证头

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

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

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());


http://www.kler.cn/news/328601.html

相关文章:

  • 基于RustDesk自建远程桌面服务
  • 0基础学前端 day9--css布局
  • UI设计师面试整理-团队合作与沟通能力
  • 深度学习·wandb
  • 自然语言处理问答系统技术
  • html5 + css3(下)
  • STL容器适配器
  • OpenCV 形态学相关函数详解及用法示例
  • 字符串逆序
  • 滚雪球学MySQL[3.3讲]:MySQL复杂查询详解:CASE语句、自连接与视图管理
  • OpenCV视频I/O(11)视频采集类VideoCapture之设置视频捕获设备的属性函数 set()的使用
  • Go语言入门:掌握基础语法与核心概念
  • 决策树的损失函数公式详细说明和例子说明
  • JS+HTML基础
  • 小徐影院:探索Spring Boot的影院管理
  • 您的计算机已被Lockbit3.0勒索病毒感染?恢复您的数据的方法在这里!
  • Windows 上安装 PostgreSQL
  • Qt界面优化——QSS
  • hystrix微服务部署
  • Raft 协议解读:简化分布式一致性
  • 美洽客户服务AI Agent 1.0,全渠道多场景赋能业务增长
  • linux 网络序
  • 快速实现AI搜索!Fivetran 支持 Milvus 作为数据迁移目标
  • 【Linux】进程概念-2
  • 给自己的项目(vue3)中添加 下雪/樱花飘落的背景
  • 复写零——双指针算法
  • 自制CANTool_DBC差异比较工具DBCCompare_原理介绍(四)
  • 【架构】prometheus+grafana系统监控
  • 鸿蒙开发知识点速记全解
  • Python数据分析工具: Scikit-learn用法示例