当前位置: 首页 > 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/a/328601.html

相关文章:

  • SpringBoot Data Redis连接Redis-Cluster集群
  • Elasticsearch 重建索引 数据迁移
  • 在arm64架构下, Ubuntu 18.04.5 LTS 用命令安装和卸载qt4、qt5
  • 机器学习(基础2)
  • 创建vue3项目步骤
  • 第 14 章 -Go语言 错误处理
  • 基于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 协议解读:简化分布式一致性