【问题标题】:How to manually set upstream proxy for fiddler core?如何为提琴手核心手动设置上游代理?
【发布时间】:2013-01-11 18:18:05
【问题描述】:

我希望能够通过上游代理重定向来自提琴手代码的 http 请求,我希望能够在运行时指定。

我查看了FiddlerApplication 函数,没有看到任何适合的内容,而且我在文档中也没有找到任何匹配的内容(除了您可能指定启动标志以使用系统的代理作为上游代理)。

在运行时指定/更改提琴手核心代理的最佳方法是什么?

【问题讨论】:

    标签: c# fiddler fiddlercore


    【解决方案1】:

    如果您想将每个请求发送到代理,并且该代理不是系统的默认代理:在发送每个请求之前,请在 Session 上指定 X-OverrideGateway 标志。在您的 BeforeRequest 处理程序中,添加以下行:

    oSession["X-OverrideGateway"] = "someProxy:1234";
    

    -埃里克

    【讨论】:

    • 这种情况下如何设置代理用户名和密码?
    • Fiddler 不会(通常)代表您自动向代理进行身份验证;相反,核心应用程序可以这样做。如果代理使用的是 HTTP BASIC 身份验证,您可以直接添加自己的 Proxy-Authorization 标头。
    • 如果您确实希望 Fiddler 响应身份验证代理,请参阅blogs.msdn.com/b/fiddler/archive/2011/09/04/… 了解该过程。
    • 你好,我添加了,但我收到了这个错误[Fiddler] The connection to 'blahblah.com' failed. <br />System.IO.InvalidDataException SOCKS gateway failed: Gateway returned error 0x5b-'request rejected or failed'我添加了oSession["X-OverrideGateway"] = "socks=192.168.1.12:2040";这是一个socks5代理。
    【解决方案2】:

    正如 EricLaw 在他的回答中所说,您必须在 Session 上指定 X-OverrideGateway 标志,尽管如果您想对上游代理进行基本 HTTP 身份验证,您可以通过添加 Proxy-Authorization 标头来设置凭据像这样到你的 BeforeRequest 处理程序中的会话

    string userCredentials = string.Format("{0}:{1}", "user", "password");
    string base64UserCredentials = Convert.ToBase64String(Encoding.UTF8.GetBytes(userCredentials));
    oSession.RequestHeaders["Proxy-Authorization"] = "Basic " + base64UserCredentials;
    

    这是 HTTP 标头字段的列表 https://en.wikipedia.org/wiki/List_of_HTTP_header_fields

    【讨论】:

      猜你喜欢
      • 2015-09-10
      • 2013-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      • 1970-01-01
      相关资源
      最近更新 更多