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# 代码中无效 的相关文章

  • 从 PDF 转换为 HTML [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在 Silverlight 中同步操作

    我有一个 Silverlight 应用程序 它使用操作从模型获取数据 再次从 WCF 服务获取数据 我需要以某种方式同步两个 ActionCallback 或等待它们 然后执行一些代码 Example model GetMyTypeList
  • System.Drawing.dll / NumericUpDown 的 .NET 访问冲突异常

    我遇到了一个非常愚蠢的问题 我已经尝试完全重新安装 NET 但它没有解决问题 我什至无法通过谷歌搜索找到其他有同样问题的人 就在我的计算机上 如果我将 NumericUpDown 控件添加到 NET 项目中的窗体并运行该应用程序 则在运行该
  • 从列表中获取数组而不进行堆分配

    我有一个列表 我想将其数组分配给一个属性 public void BuildMesh List
  • 通过 WCF 提供类对象的数组或列表

    任何提供自定义类对象列表或数组的 WCF 客户端服务器示例都会对我有所帮助 但这是我到目前为止所得到的 这是我想提供的班级系统 namespace NEN Server FS Serializable public class XFS pr
  • 在 C# 中将 Exe 文件作为嵌入式资源运行

    我有一个第 3 方 EXE 我只需要从我的 C 应用程序运行它 我的主要目标是对我的 C 文件中的第 3 方可执行文件进行版权保护 有没有更好的方法来做到这一点 我怎样才能做到这一点 首先将嵌入的可执行文件作为资源文件添加到您现有的资源文件
  • .NET 4.0 进程中的 clr.dll!LogHelp_TerminateOnAssert

    背景 我正在开发一个基于 WinForm 的 NET 4 0 桌面应用程序 该应用程序几乎没有线程和计时器 并对用户控件使用一些 GDI 处理 在我的开发过程中 我通常会查看 sysinternal 的 Process Explorer 以
  • 无法将 User32.dll 导入 Visual Studio

    I tried To add 用户32 dll from 参考管理器 并将其导入自Windows System32 user32 dll I got 错误信息 无法添加对 C Windows System32 user32 dll 的引用
  • 通过模板参数向类添加方法

    我希望在类中拥有一个模板参数特定函数 取消启用enable if 它的名称保持不变 参数类型有所不同 尽管这应该不相关 因为只有一个被初始化 enum class MyCases CASE1 CASE2 template
  • FileMode 和 FileAccess 以及 IOException:进程无法访问文件“filename”,因为它正在被另一个进程使用

    我有一个应用程序 A 它生成一个用于跟踪的文本文件 同时 应用程序 B 需要读取相同的文本文件并附加在邮件消息中 但当应用程序 B 尝试读取文本文件时 出现以下错误 IOException 进程无法访问文件 filename 因为它 正在被
  • 更改 ASP.NET 控件的访问修饰符

    如果我像这样将控件放入 aspx 文件中
  • 将模型和订阅密钥传递给 LuisDialog,而不是通过属性

    我正在编写一个可以说两种语言的机器人 因此 我需要使用两个单独的 LUIS 应用程序 每种语言一个 Bot Framework 中的 LuisDialog 是这样初始化的 来自 Microsoft 的示例 LuisModel c413b2e
  • 底层连接已关闭:接收时发生意外错误

    我来这里是因为我在通过 ftp 协议下载一些文件时遇到问题 这很奇怪 因为它偶尔会发生 甚至对于同一个文件也是如此 只是一个精确度 我正在下载非常大的文件 从 500 Mo 到 30Go 以下是我的函数返回的异常类型 抱歉 这是法语 Sys
  • JsonSerializer.Deserialize 失败

    考虑代码 using System using System Text Json public class Program public static void Main int id 9 string str id id var u Js
  • 在 C++ 中的 Switch-Case 中执行 OR 运算

    你会如何在 C 中做到这一点 例如 如果用户按 ESC 或 q 或 Q 我试图触发程序退出 我尝试寻找它 但在 C 中没有找到它的语法 我知道如何使用 if else 来做到这一点 但是可以使用 switch case 来做到这一点吗 当然
  • 使用 DI 将参数传递给 DbContext

    我想向 DBContext 传递一个附加参数 如下所示 string myParam xx string con connenctionstring services AddDbContext
  • 单击 GridView 查找选定行

    我正在尝试获取 GridView 并从单击的行中获取数据 我已经尝试了下面的代码 当我单击该行时 我会返回选定的索引 但是当我查看 GridView 中的实际行时 它们显示为空 不知道我错过了什么 ASP 使我的网格
  • Outlook 插件:从选定的日历中获取元素

    我正在创建 Outlook 加载项 我想知道如何从选定的日历中获取元素 例如 我需要从名为 myCalendar 的日历中获取所有约会项目 现在 我可以从所有日历中获取所有约会项目 谢谢你 这些额外的日历作为主日历文件夹的子文件夹提供 所以
  • C++ 中的无符号双精度?

    为什么 C 不支持无符号双精度语法 因为典型的浮点格式不支持无符号数 例如 参见此 IEEE 754 格式列表 http en wikipedia org wiki IEEE 754 2008 Formats 添加通用硬件不支持的数字格式只
  • 在 C++ 中,将 float 转换为 double 再转换回 float 是否给出相同的值

    假设在下面的代码中 float f1 double d1 static cast

随机推荐

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

    我有两个结构 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 发送的所有标头 我全部复制粘贴了