是否有方法使Fiddler 4.6.2.3只在Fiddler“手动代理配置”被激活时才向上游代理发送基本身份验证凭据?我知道如何配置Fiddler来发送每个HTTP请求的基本Auth凭据,但是我想在测试我的应用程序时打开/关闭Fiddler的“手动代理配置”功能。当手动代理配置“关闭”时,我不希望Fiddler发送基本的Auth凭据,因为Fiddler将被配置为使用我的Windows系统代理及其IP。当手动代理配置“打开”时,我希望将基本的Auth凭据发送到上游代理,以便我可以使用代理的IP。
我知道我可以在IE11 (我在Windows7Pro 64位笔记本电脑上)的设置中直接改变这一点,但是我不想这样做,因为我想从一个应用程序中管理这个“开/关”功能。就我而言,我希望这是菲德勒。我在与Fiddler -第二版书的调试中寻找与“手动代理配置”相关的标志,但没有看到任何东西。我的要求有可能吗?如果可以,怎么做?
提前谢谢你的帮助-
发布于 2016-04-24 00:23:52
感谢Eric (Fiddler的作者)给出了这个答案(通过电子邮件).
步骤1:单击Rules>Customize。FiddlerScript编辑器将打开。
步骤2:在类处理程序的开始之后,{添加以下代码:
// Use a fixed proxy IP with Basic authentication
public static RulesOption("Use Auth-Proxy")
var bUseAuthProxy: boolean = false;步骤3:在OnBeforeRequest函数内部(在处理程序类代码中)添加以下代码:
if (bUseAuthProxy) {
oSession["X-OverrideGateway"] = "myAuthenticatingProxy:8080";
oSession.RequestHeaders["Proxy-Authorization"] = "Basic yourbase64stringhere";
}别忘了关闭右支撑(就像我一样!)在上面的代码片段中(这很容易被忽略!)如果您忘记了右大括号,“”选项将不会出现在“规则”菜单中。
字符串"myAuthenticatingProxy:8080“是代理服务器的IP和端口号,其形式是IP:端口号。确保IP和端口号用冒号(":")分隔,它是双引号,代码行以分号结尾。
身份验证凭据的字符串必须以单词" Basic“开头(它指示基本身份验证,而不是NTLM等身份验证)。"yourbase64stringhere“是您的代理IP身份验证凭据,其形式是用户名:密码(带有冒号:”包含在字符串中),已转换为Bas-64字符串。 Fiddler附带内置的Bas-64转换器。单击Tools>Text向导。在上面的面板中键入用户名:密码字符串。默认情况下,文本向导被设置为将在上面板中输入的文本转换为下面板中的基-64字符串输出(注意位于上面板和下面板之间的“转换”下拉列表)。复制下面面板中输出的Base-64字符串,并将其附加到由A空格分隔的单词"Basic“中。在整个字符串周围放置双引号,并以分号结束代码行。
步骤4:保存文件。单击主Fiddler菜单上的规则条目。现在您应该会看到一个名为“”的规则项。单击此条目将配置Fiddler使用您在步骤3中编码的IP和身份验证凭据。取消选中"Use“将Fiddler恢复为使用在Tools>Fiddler Options>Gateway下建立的任何配置。在应用程序开发期间,这是一种非常有效的“选择”和“取消选择”特定代理的方法。再次感谢埃里克的伟大解决方案!
-比尔·瓦兰斯
https://stackoverflow.com/questions/36754626
复制相似问题