Fiddler 4.6.2.3 - 仅在手动代理配置处于活动状态时发送基本身份验证

时间:2016-04-20 20:34:33

标签: authentication proxy fiddler

是否有办法让Fiddler 4.6.2.3仅在Fiddler"手动代理配置时才向上游代理发送基本身份验证凭据。已被激活?我知道如何配置Fiddler以使用每个HTTP请求发送基本身份验证凭据 ,但我想转向Fiddler"手动代理配置"在测试我的应用程序时打开/关闭功能。当手动代理配置为"关闭"我不希望Fiddler发送Basic Auth凭据,因为Fiddler将被配置为使用我的Windows'系统代理及其IP。当手动代理配置打开"开"我希望将基本身份验证凭据发送到上游代理,以便我可以使用代理的IP。

我知道我可以直接在IE11(我在Windows 7 Pro 64位笔记本电脑上)设置中更改此设置,但我不想这样做,因为我想管理这个&# 34;开/关"单个应用程序的功能。就我而言,我希望这是小提琴手。我找了一个与"手动代理配置相关的标志"在使用Fiddler调试 - 第二版一书中,但没有看到任何内容。我的请求是否可能,如果可以,怎么样?

提前感谢您的帮助 -

1 个答案:

答案 0 :(得分:0)

感谢Eric Lawrence(Fiddler的作者)的回答(通过电子邮件)。

第1步:点击规则>自定义。 FiddlerScript编辑器将打开。
第2步:在课程开始之后处理程序{添加以下代码:

// Use a fixed proxy IP with Basic authentication
public static RulesOption("Use Auth-Proxy")
var bUseAuthProxy: boolean = false;

步骤3:在 OnBeforeRequest 函数内部(在Handlers类代码的下方)添加以下代码:

   if (bUseAuthProxy) {
      oSession["X-OverrideGateway"] = "myAuthenticatingProxy:8080";
      oSession.RequestHeaders["Proxy-Authorization"] = "Basic yourbase64stringhere";
   }

不要忘记在上面的代码片段中关闭右括号(就像我做的那样!)(这很容易被忽视!)。如果您忘记右括号,“使用身份验证代理”选项将不会出现在“规则”菜单中。

字符串“myAuthenticatingProxy:8080”是代理服务器的IP和端口号,格式为 IP:端口号。确保IP和端口号用冒号(“:”)分隔,它是双引号,代码行以分号结尾。

您的身份验证凭据的字符串必须以“Basic”(表示基本身份验证而非NTLM等身份验证)开头。 “yourbase64stringhere”是您的代理IP身份验证凭据,其形式为 username:password (字符串中包含冒号“:”)已转换为Base-64字符串。 Fiddler配备内置Base-64转换器。单击工具>文本向导。在上面板中输入您的用户名:密码字符串。默认情况下,文本向导设置为将在上面板中输入的文本转换为下面板中的Base-64字符串输出(请注意位于上下面板之间的“Transform”下拉列表)。复制已在下面板中输出的Base-64字符串,并将其附加到由空格分隔的单词“Basic”。在整个字符串周围加上双引号,并用分号结束代码行。

第4步:保存文件。单击主Fiddler菜单上的Rules规则。您现在应该看到名为“使用Auth-Proxy”的规则项。单击此条目将配置Fiddler以使用您在步骤3中编码的IP和身份验证凭据。取消选中“使用Auth-Proxy”会将Fiddler恢复为使用在Tools> Fiddler Options> Gateway下建立的任何配置。这是在应用程序开发期间“选择”和“取消选择”特定代理的一种非常有效的方法。 再次感谢Eric提供了出色的解决方案!

- Bill Vallance