HTTP 请求在 Postman 中有效,但在 C# 代码中无效

2023-11-27

我想用 C# 做一个简单的 HTTP 请求,但是有些东西不起作用,我得到的只是403 Forbidden状态码。

当我尝试在邮递员中执行相同的请求时,一切正常。 我尝试运行 Fiddler 并查看 Postman 发送的所有标头。我全部复制粘贴了,但还是有403 Forbidden在 C# 代码发送的请求中。

C# 代码(使用https://flurl.dev):

public static void Main(string[] args)
{
    FlurlHttp.Configure(settings => {
        settings.HttpClientFactory = new MyClientFactory();
    });

    var url = "https://example.com"
        .AppendPathSegments(new[] { "v1", "oauth", "accesstoken" })
        .SetQueryParam("grant_type", "client_credentials")
        .AllowAnyHttpStatus()
        .WithBasicAuth("username", "password")
        .WithHeaders(new {
            User_Agent = "Something/0.4.0 Dalvik/2.1.0 (Linux; U; Android 5.1.1; SM-G975F Build/NRD90M)",
            X_Secret_Header = "secret_encoded_value",
            accept_encoding = "gzip, deflate",
            Accept = "*/*"
        });

    HttpResponseMessage msg = url.GetAsync().Result;

    Console.WriteLine("StatusCodeString: " + msg.StatusCode.ToString());
    Console.WriteLine();
    Console.WriteLine(msg.Content.ReadAsStringAsync().Result);
}

class MyClientFactory : DefaultHttpClientFactory
{
    public override HttpMessageHandler CreateMessageHandler()
    {
        return new HttpClientHandler
        {
            AllowAutoRedirect = false
        };
    }
}

C# 请求和响应:

CSharp Request in Fiddler CSharp Response

邮递员请求和响应:

Postman Headers Postman Response Postman Response in Fiddler

有人可以解释一下为什么这不起作用吗?相同的标题,相同的一切。

我将 URL 替换为“example.com”,因为我不想在此处显示真实的 API URL。

也对这么多图像感到抱歉。我不知道如何以其他方式展示这里的问题。


从 Postman 中,右侧应该有一个名为代码的链接。单击它,然后选择 C# 以获取 Postman 生成的代码。将其粘贴进去并尝试一下。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HTTP 请求在 Postman 中有效,但在 C# 代码中无效 的相关文章

  • 我如何才能等待多个事情

    我正在使用 C 11 和 stl 线程编写一个线程安全队列 WaitAndPop 方法当前如下所示 我希望能够将一些内容传递给 WaitAndPop 来指示调用线程是否已被要求停止 如果 WaitAndPop 等待并返回队列的元素 则应返回
  • 为什么两个不同的 Base64 字符串的转换会返回相等的字节数组?

    我想知道为什么从 base64 字符串转换会为不同的字符串返回相同的字节数组 const string s1 dg const string s2 dq byte a1 Convert FromBase64String s1 byte a2
  • 不支持将数据直接绑定到存储查询(DbSet、DbQuery、DbSqlQuery)

    正在编码视觉工作室2012并使用实体模型作为我的数据层 但是 当页面尝试加载时 上面提到的标题 我使用 Linq 语句的下拉控件往往会引发未处理的异常 下面是我的代码 using AdventureWorksEntities dw new
  • Asp.NET WebApi 中类似文件名称的路由

    是否可以在 ASP NET Web API 路由配置中添加一条路由 以允许处理看起来有点像文件名的 URL 我尝试添加以下条目WebApiConfig Register 但这不起作用 使用 URIapi foo 0de7ebfa 3a55
  • 嵌套接口:将 IDictionary> 转换为 IDictionary>?

    我认为投射一个相当简单IDictionary
  • 使用 Anypoint Studio (MULE) 在本地主机上找不到资源

    我尝试按照 MuleSoft 网站上建议的教程进行操作 我首先从这个例子开始
  • 使用实体框架模型输入安全密钥

    这是我今天的完美想法 Entity Framework 中的强类型 ID 动机 比较 ModelTypeA ID 和 ModelTypeB ID 总是 至少几乎 错误 为什么编译时不处理它 如果您使用每个请求示例 DbContext 那么很
  • 如何使用 ICU 解析汉字数字字符?

    我正在编写一个使用 ICU 来解析由汉字数字字符组成的 Unicode 字符串的函数 并希望返回该字符串的整数值 五 gt 5 三十一 gt 31 五千九百七十二 gt 5972 我将区域设置设置为 Locale getJapan 并使用
  • HTTPWebResponse 响应字符串被截断

    应用程序正在与 REST 服务通信 Fiddler 显示作为 Apps 响应传入的完整良好 XML 响应 该应用程序位于法属波利尼西亚 在新西兰也有一个相同的副本 因此主要嫌疑人似乎在编码 但我们已经检查过 但空手而归 查看流读取器的输出字
  • 使用 Bearer Token 访问 IdentityServer4 上受保护的 API

    我试图寻找此问题的解决方案 但尚未找到正确的搜索文本 我的问题是 如何配置我的 IdentityServer 以便它也可以接受 授权带有 BearerTokens 的 Api 请求 我已经配置并运行了 IdentityServer4 我还在
  • 如何设计以 char* 指针作为类成员变量的类?

    首先我想介绍一下我的情况 我写了一些类 将 char 指针作为私有类成员 而且这个项目有 GUI 所以当单击按钮时 某些函数可能会执行多次 这些类是设计的单班在项目中 但是其中的某些函数可以执行多次 然后我发现我的项目存在内存泄漏 所以我想
  • 如何序列化/反序列化自定义数据集

    我有一个 winforms 应用程序 它使用强类型的自定义数据集来保存数据进行处理 它由数据库中的数据填充 我有一个用户控件 它接受任何自定义数据集并在数据网格中显示内容 这用于测试和调试 为了使控件可重用 我将自定义数据集视为普通的 Sy
  • Windows 窗体:如果文本太长,请添加新行到标签

    我正在使用 C 有时 从网络服务返回的文本 我在标签中显示 太长 并且会在表单边缘被截断 如果标签不适合表单 是否有一种简单的方法可以在标签中添加换行符 Thanks 如果您将标签设置为autosize 它会随着您输入的任何文本自动增长 为
  • 覆盖子类中的字段或属性

    我有一个抽象基类 我想声明一个字段或属性 该字段或属性在从该父类继承的每个类中具有不同的值 我想在基类中定义它 以便我可以在基类方法中引用它 例如覆盖 ToString 来表示 此对象的类型为 property field 我有三种方法可以
  • 为什么编译时浮点计算可能不会得到与运行时计算相同的结果?

    In the speaker mentioned Compile time floating point calculations might not have the same results as runtime calculation
  • 如何将带有 IP 地址的连接字符串放入 web.config 文件中?

    我们当前在 web config 文件中使用以下连接字符串 add name DBConnectionString connectionString Data Source ourServer Initial Catalog ourDB P
  • 基于 OpenCV 边缘的物体检测 C++

    我有一个应用程序 我必须检测场景中某些项目的存在 这些项目可以旋转并稍微缩放 更大或更小 我尝试过使用关键点检测器 但它们不够快且不够准确 因此 我决定首先使用 Canny 或更快的边缘检测算法 检测模板和搜索区域中的边缘 然后匹配边缘以查
  • 混合 ExecutionContext.SuppressFlow 和任务时 AsyncLocal.Value 出现意外值

    在应用程序中 由于 AsyncLocal 的错误 意外值 我遇到了奇怪的行为 尽管我抑制了执行上下文的流程 但 AsyncLocal Value 属性有时不会在新生成的任务的执行范围内重置 下面我创建了一个最小的可重现示例来演示该问题 pr
  • Windows 和 Linux 上的线程

    我在互联网上看到过在 Windows 上使用 C 制作多线程应用程序的教程 以及在 Linux 上执行相同操作的其他教程 但不能同时用于两者 是否存在即使在 Linux 或 Windows 上编译也能工作的函数 您需要使用一个包含两者的实现
  • C++ 标准是否指定了编译器的 STL 实现细节?

    在写答案时this https stackoverflow com questions 30909296 can you put a pimpl class inside a vector我遇到了一个有趣的情况 这个问题演示了这样一种情况

随机推荐

  • 将结构体的引用存储在其他结构体中

    我有两个结构 App and Item 我想要实现的是存储一个Item in the items的向量App通过传递可变引用来构造结构体Items 构造函数 pub struct App lt a gt items Vec lt a Ite
  • Javascript递归函数没有返回值?

    我正在解决一个代码战争问题 并且我很确定我已经让它工作了 function digital root n n n toString if n length 1 return parseInt n else let count 0 for l
  • Azure SQL 成本与 DocumentDB/CosmosDB 成本之间的比较

    有人对 Azure SQL 成本与 DocumentDB CosmosDB 成本进行过比较吗 我不清楚 Azure CosmosDB 成本中提供的 RU 例如 1 TB 数据库中的 1 个请求不能等于 1 GB 数据库中的 1 个请求 首先
  • WiX CustomAction ExeCommand 失败?

    我有一个命令行 我想在安装合并模块期间运行 由WiX 与下面的代码
  • 如何配置 CKEditor 以保留数据属性而不是删除它们?

    我使用 CKeditor 来编辑丰富的 HTML 页面 但某些 javascript 功能依赖于 CKeditor 的特殊属性 a 触发它们的标签 这些情况很少见 只有 5000 多条记录的数据库中的几条记录需要触发此功能 并且这个特定的
  • ActiveAdmin 和就地编辑

    我有一个系统 我使用 ActiveAdmin 来自动化后端 我想知道是否有人尝试对 ActiveAdmin 的表进行就地编辑 我看到一些有用的场景 键值表 如状态 类别等 和主从视图 订单和订单项 有人尝试过实施吗 有什么好的指点吗 我们使
  • Ansible:如果主机无法访问则中止执行

    摘要 如果任何主机无法访问 则立即中止 ansible playbook 的更好方法 如果任何一个主机无法访问 是否有办法中止 Ansible playbook 我发现 如果它无法到达主机 它仍然会继续并执行剧本中的所有戏剧 任务 我的所有
  • 为什么当使用相同状态调用 useState 时我的组件会呈现?

    我有一个带有布尔状态的简单功能组件 以及用于更改状态的按钮 它最初设置为true所以当我按下 true 按钮时 它不会渲染 但是 如果我按下 false 按钮 它会重新渲染 并且如果我再次按下 false 按钮 它会重新渲染 即使状态已经设
  • 发送多媒体命令

    Is there some way that I can send multimedia control commands like next song pause play vol up etc to the operating syst
  • 字段“___recordID”未标记为可查询

    我尝试下载具有特定记录类型的所有记录 该记录ID 与某个记录不匹配 但我收到错误 任何想法 我想我只能将手动添加的字段标记为可查询
  • 如何转换和提取Kafka接收器JDBC连接器中的字段

    我正在使用第 3 方 CDC 工具 将数据从源数据库复制到 Kafka 主题中 示例行如下所示 data USER ID string 1 USER CATEGORY string A beforeData Data USER ID str
  • 尝试重定向“git gc”输出

    我有一个 daily运行的 crontab 中的作业git gc在所有回购协议上 我正在尝试为该作业设置一个日志文件 但 I O 重定向不会产生我正在寻找的结果 我得到一个空白文件 我已经做了所有平常的事情 gt 2 gt 1等等都没有成功
  • iOS8 区域本地化(例如 pt-BR)?

    据我了解 iOS8 现在支持区域本地化 在本例中我想支持 pt BR See http www ibabbleon com iOS Language Codes ISO 639 html 我遇到了这个问题 使用全新的单视图应用程序对此进行测
  • 转储文件分析入门

    我正在使用旧版 VB6 COM 应用程序 该应用程序有时会导致 Windows 7 崩溃 我现在已经使用 Sysinternals 的 ProcDump 工具生成了其中一个崩溃的 dmp 文件 但是 我以前从未使用过转储文件 您会推荐哪些资
  • 从 ScrollView Swift 中删除子视图

    我使用 for 循环在滚动视图中创建标签和按钮 是否可以删除滚动视图内的所有对象 我想用新内容更新它 for peop in personArray scrollView clearContent Name label var label
  • 格式化 NSNumber 对象时如何指定小数位?

    我使用下面的一段 Objective C 代码来格式化 NSNumber 它在大多数情况下都工作正常 但是当 NSNumber 对象包含整数 没有小数部分 时 它并不能完全满足我的要求 UILabel label UILabel alloc
  • Python 多处理池卡住

    我正在尝试运行在网上找到的 python multiprocessing pool 模块的一些示例代码 代码是 def square x return x x if name main pool Pool processes 4 input
  • 如何区分类型是值类型还是引用类型?

    一些简单的类型 如 int string 等 很容易意识到它们是 ValueTypes 或 RefrenceTypes 但我想知道有什么方法可以区分吗 所有结构 枚举和本机类型都是值类型 在运行时你可以这样检查 Type type type
  • 如何为 HTTP GET 请求设置标头并触发文件下载?

    Update20140702 解决方案 详细答案作为博客文章 但我将其他答案之一标记为已接受 而不是我自己的 因为它让我成功了一半 并奖励我的努力 似乎无法通过以下链接设置 HTTP 请求标头 a href 并且只能使用XMLHttpReq
  • HTTP 请求在 Postman 中有效,但在 C# 代码中无效

    我想用 C 做一个简单的 HTTP 请求 但是有些东西不起作用 我得到的只是403 Forbidden状态码 当我尝试在邮递员中执行相同的请求时 一切正常 我尝试运行 Fiddler 并查看 Postman 发送的所有标头 我全部复制粘贴了