在 WebRequest 中强制进行基本身份验证

2024-02-06

我正在集成将使用的网络服务 HTTP-POST 用于请求和检索数据。远程服务器 需要根据 RFC 2617 进行基本身份验证

我的身份验证尝试失败了。

它失败的原因是,即使我将“NetworkCredential”对象附加到“HttpWebRequest”对象的“Credentials”属性,标头中也不会发送任何身份验证信息, 即使我设置“PreAuthenticate”= true。

我缺少什么?

//使用的块

NetworkCredential netCredential = new NetworkCredential(" uid", "pwd");

Uri uri = new Uri("http://address of services");

ICredentials credentials = netCredential.GetCredential(uri, "Basic");

objRegistration.Credentials = credentials;

objRegistration.PreAuthenticate = true;

我刚刚发现这个非常方便的小东西代码块 http://blog.kowalczyk.info/article/Forcing-basic-http-authentication-for-HttpWebReq.html准确地做您需要的事情。它手动将授权标头添加到代码中,而不等待服务器的质询。

public void SetBasicAuthHeader(WebRequest request, String userName, String userPassword)
{
    string authInfo = userName + ":" + userPassword;
    authInfo = Convert.ToBase64String(Encoding.Default.GetBytes(authInfo));
    request.Headers["Authorization"] = "Basic " + authInfo;
}

像这样使用它

var request = WebRequest.Create("http://myserver.com/service");
SetBasicAuthHeader(request, userName, password);

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

在 WebRequest 中强制进行基本身份验证 的相关文章

  • 高度并行化的Levenshtein距离算法

    实际上 我必须实现一个字符串比较 最后得到匹配百分比 不仅仅是布尔结果匹配 不匹配 为此 我找到了 Levenstein 距离算法 但现在的问题是性能 例如 我有 1k 个字符串需要相互比较 现在大约需要 10 分钟 对于每个算法 我已经并
  • .NET 中严格浮点数学的库

    我有 Java 算法 计算及其单元测试 单元测试期望结果具有一定的精度 增量 现在我将算法移植到 NET 中 并希望使用相同的单元测试 我使用双数据类型 问题在于 Java 使用 strictfp 64 位 来执行 Math 类中的某些操作
  • WCF 服务调用包装器

    为 WCF 服务调用创建包装器的最佳实践是什么 我认为有必要 为了在同一个地方监视所有呼叫 我正在考虑使用这种代码 这是正确的想法吗 RetType t ServiceExecutionContext
  • 如何为从源文件编译的应用程序分配自定义图标?

    在我的程序中 我使用 CSharpCodeProvider 来从源文件编译另一个应用程序 我使用的代码如下 public static bool CompileExecutable String sourceName FileInfo so
  • 如何在加载.NET WinForm应用程序user.config文件时捕获异常?

    有时 在使用默认配置系统的 NET 2 0 WinForm 桌面应用程序中 user config文件将被损坏并且无法再加载 当配置系统尝试加载它时 它会抛出一个System Xml XmlException 抛开 为什么文件首先被损坏 的
  • Coldfusion 跨站点身份验证

    好的 在我正在开发的 Coldfusion 网站上 我刚刚安装了一个名为 Galleon 的第三方 开源 CF 论坛 我不久前问过类似的问题 但现在我们已经取得了一些进展 目前的问题是 它不会识别父站点本身存在的任何变量 会话等 论坛本身存
  • C# 中的合并运算符?

    我想我记得看到过类似的东西 三元运算符 http msdn microsoft com en us library ty67wk28 28VS 80 29 aspx在 C 中 它只有两部分 如果变量值不为空 则返回变量值 如果为空 则返回默
  • 等待进程释放文件

    我如何等待文件空闲以便ss Save 可以用新的覆盖它吗 如果我紧密地运行两次 左右 我会得到一个generic GDI error
  • 使用 CXF-RS 组件时,为什么我们使用 而不是普通的

    作为后续这个问题 https stackoverflow com questions 20598199 对于如何正确使用CXF RS组件我还是有点困惑 我很困惑为什么我们需要
  • 服务 AddJsonOptions .net core 2.1

    以前使用 net 2 0 您可以通过这种方式添加 json 内容 services AddJsonOptions options gt options SerializerSettings ContractResolver new Came
  • Angular 2 验证状态

    我使用 Angular 2 实现了一个登录页面 登录后 我从服务器获取 jsonwebtoken userId userRole userName 我将此信息存储在本地存储中 以便我可以随时访问它并在用户刷新页面时保持登录状态 AuthSe
  • 有条件地忽略属性序列化

    我有一个 Asp Net WebApi 项目 我想返回 Json 格式的产品列表和一个特定产品 这是我的产品型号 public class Product public int Id get set public string ShortS
  • 在业务逻辑中使用反射是一种好的做法吗?

    我需要开发一个由两个主要部分组成的应用程序 具有特定业务类别的业务逻辑部分 例如书籍 图书馆 作者 一个通用部分 可以在数据网格中显示书籍 图书馆 将它们映射到数据库 通用部分使用反射从业务类中获取数据 而不需要在业务类中编写特定的数据网格
  • 如何访问 TabControl 选项卡内的控件?

    这就是我到目前为止所拥有的一切 tabControl1 TabPages 0 我的 TabControl 的 TabPage1 中有一个 PictureBox 如何使用代码而不是属性窗格更改图像位置 尽管控件出现在容器内 作为 TabCon
  • 如何在 .NET 中使 ComboBox 不可编辑?

    我想要一个 仅选择 ComboBox它提供了一个项目列表供用户选择 应在文本部分禁用打字ComboBox控制 我最初对此进行谷歌搜索 发现了一个过于复杂 误导性的建议来捕捉KeyPress event 要使 ComboBox 的文本部分不可
  • 避免使用一本字典的更好代码 - 区分大小写问题

    我有以下方法用数据读取器的值填充字典 数据读取器字段和传递给方法的属性之间可能存在大小写不匹配的情况 在下面的方法中 我首先将属性转换为小写以解决此问题 这会导致两个字典 有没有更好的方法用一本字典来实现这一目标 private Dicti
  • 如何在 Spring-Security 中重命名表 persist_logins

    Spring Security 中管理 记住我 身份验证的默认表名称是 persistent logins 由于数据库命名约定 我需要重命名该表 持久登录 to T PERSISTENT LOGINS 请提供任何帮助 您需要编写自己的实现J
  • 为什么我的程序集在安装到 GAC 后在“添加引用 > .Net”中不可见?

    我想问一个关于 GAC 的简单问题我创建了一个程序集 Awesome DLL 对其进行签名 然后将其安装到 GAC 中 C MyApps Awesome Awesome Awesome bin Release gt sn k Awesome
  • 如何将 dll 中包含的组件嵌入到 exe 中,以便它可以从内存运行?

    我正在尝试制作一个必须从内存运行的程序 通过Assembly Load bin 如上所述here http www codeproject com Articles 13897 Load an EXE File and Run It fro
  • 从 SQL 语句中检索元数据(表名)

    我使用的是 Visual Studio 2008 我创建了一个 Winforms 应用程序 并且尝试从 SQL 语句中提取表名 con new SqlConnection connString String queryString Sele

随机推荐

  • 谷歌应用脚​​本,团队驱动的谷歌选择器

    221 5000 你好 目前我正在尝试为谷歌团队驱动器实现谷歌pikker 此代码适用于我的 Google 云端硬盘 但如果您将此代码用于 Google Team Drives 请添加参数 enableFeature google pick
  • 将字符串拆分为行 Oracle SQL

    在搜索论坛后 我想出了以下内容 但它不起作用 我有一张桌子 上面有以下内容 ID Strings 123 abc fgh dwd 243 dfs dfd dfg 353 dfs 424 dfd dfw 523 请注意 大约有 20 000
  • 如何对顺序逻辑进行单元测试?

    假设我有具有以下方法的 Car 类 装载汽油 I燃油气 InsertKey IKey键 启动引擎 IDriverSession Go Car 的目的是配置并返回 IDriverSession 应用程序的其余部分使用该 IDrivingSes
  • 在我的主机上运行 python 脚本

    我是 Web 开发和 Python 的新手 由于我没有足够的词汇来提出确切的问题 这里总结了需要做什么 我有一个小的测试 python cgi 脚本 我已将其上传到 home username pyscripts 位于上面 home 用户名
  • Java 7 中的 emma 和 junit 导致 java.lang.VerifyError 和非法局部变量错误

    所以我收到这些错误 junit 方法 test nz ac massey cs sdc log4jassignment s06005586 AppenderLayoutTest V 中非法局部变量表长度 17 junit java lang
  • JSON.parse() 是如何工作的?

    我没有在 javascript 上做太多工作 而且 我需要解析一个 JSON 字符串 所以 我想知道 JSON parse 到底做了什么 例如 如果我将 json 字符串分配给这样的变量 var ab name abcd details a
  • (为什么)移动构造函数或移动赋值运算符应该清除其参数?

    我正在学习的 C 课程中的移动构造函数实现示例看起来有点像这样 Move constructor Motorcycle Motorcycle Motorcycle ori m wheels std move ori m wheels m s
  • React Native 中的 PhaseScriptExecution [CP-User] 错误

    现在每次我创建一个新项目react native init ProjectName创建后我做npx pod install进而react native run ios它给了我错误 我创建的每个新项目都会发生这种情况 我不确定是否需要进行更新
  • 长赋值和双赋值不是原子的 - 这有什么关系?

    我们知道 long 和 double 赋值在 Java 中不是原子的 除非它们被声明为 volatile 我的问题是它在我们的编程实践中到底有多重要 例如 如果您看到下面的类 其对象在多个线程之间共享 The below class is
  • Facebook向多个朋友“发送”对话

    这个想法是 用户可以请求几个朋友对他们所做的事情提供反馈 我有一个朋友选择器 效果很好 从这里我得到用户 ID 然后我调用发送对话框 结果有多个收件人 而只有一个 有谁知道为什么 FB ui method send name Test to
  • Blazor WebAssembly:同一组件渲染上的多个路由

    我实际上正在试验 Blazor WebAssembly 除了一件事之外 一切都很好 我的想法是我想共享相同的组件来创建或编辑项目 组件的名称是 CreateOrEdit razor 我有两条路线 page master maker crea
  • 单击注销按钮后终止会话并重定向到登录页面

    我在JSP中有以下代码
  • Sass 加载器和 webpack 4

    如何在 webpack 4 中使用 sass 加载器 我读了很多关于这方面的内容 大多数网站建议使用 ExtractTextPlugin 但 ExtractTextPlugin 不适用于 webpack 4 我写了以下内容webpack c
  • 将 IplImage IPL_DEPTH_32S 转换为 QImage Format_RGB32 的最快方法

    将 IplImage IPL DEPTH 32S 转换为 QImage Format RGB32 最快的方法是什么 我需要从摄像头捕捉图片并将其显示在表格上 频率为每秒 30 帧 我尝试使用 QImage 构造函数 QImage qImag
  • jquery触发事件

    我们如何在活动对象上调用触发单击事件 continue live keypress function if e which 32 e which 13 this trigger click 当我按按钮上的 Enter 时 它会进入 if 块
  • Xcode 4.5 + UIScrollView:看不到支柱和弹簧(OSX 10.8 Mountain Lion)

    免责声明 iOS 开发全新 对我轻松一些 在 Xcode 4 5 中遇到了一个有趣的情况 我的尺寸检查器看起来像这样 和我根本看不到支柱和弹簧区域 真正奇怪的部分是 当我点击连接检查器之类的东西时 我确实看到了支柱和弹簧区域 但只看到了一瞬
  • 如何在不同存储库中的多个解决方案之间共享源代码库?

    我有一个公共库 我想在几个解决方案之间共享 该库存储在不同的 github 存储库中 我们将共享库放在单独的 GitHub 存储库中并创建了 nuget 包 可以将其安装在每个所需的项目 解决方案中 缺点是更改库中的代码涉及几个步骤 更改代
  • HTML5 Web 存储抽象库

    根据我对 HTML5 中 Web 存储的了解 有许多不同的存储选项 不同浏览器的支持也不同 是否有任何流行的库用于在 HTML5 应用程序中抽象 Web 存储 有几个基于 YUI 的库用于抽象底层存储 YUI 2 存储实用程序 http d
  • 以编程方式获取 ec2 定价?

    有没有办法以编程方式获取 AWS 定价 每种实例类型的每小时成本 S3 上每月每 GB 存储的成本等 另外 有成本监控工具吗 例如 是否有一种工具可以按小时报告您的 EC2 实例使用情况 而不是每月 亚马逊就是这么做的 提前致谢 UPDAT
  • 在 WebRequest 中强制进行基本身份验证

    我正在集成将使用的网络服务 HTTP POST 用于请求和检索数据 远程服务器 需要根据 RFC 2617 进行基本身份验证 我的身份验证尝试失败了 它失败的原因是 即使我将 NetworkCredential 对象附加到 HttpWebR