【问题标题】:App absolutely refuses to use proxy for localhost requests应用程序绝对拒绝为本地主机请求使用代理
【发布时间】:2017-07-27 07:49:45
【问题描述】:

我在端口 8888 上运行 Fiddler

Web.config:

  <system.net>
      <defaultProxy enabled="true" useDefaultCredentials="true">
          <proxy bypassonlocal="False" proxyaddress="http://localhost:8888" usesystemdefault="False" autoDetect="False" />
      </defaultProxy>
  </system.net>

应用代码(指定与之对话的 API 控制器的凭据):

            var wc = new WebClient();
            wc.Proxy = new WebProxy(new Uri($"http://localhost:8888"), false);
            wc.Credentials = new NetworkCredential("myuser", "mypass");
            var response = wc.UploadString("http://localhost:11026/api/mycontroller/mymethod", "POST", request);

我一辈子都无法通过 Fiddler 进行通信,因此我可以调试请求。我做错了吗?

更新
此信息由 Fiddler help 提供,但在 web.config 和应用程序代码中都使用了 localhost.fiddler,但仍然没有被 Fiddler 捕获(并且当 Fiddler 关闭时,它不会导致连接失败错误)

解决方案 2:使用http://ipv4.fiddler

使用http://ipv4.fiddler 访问 IPv4 适配器上的 localhost。这 与 Visual Studio 测试网络服务器(代号: Cassini),因为测试服务器只监听 IPv4 环回 适配器。使用http://ipv6.fiddler 在 IPv6 适配器上点击 localhost, 或使用http://localhost.fiddler 在中使用“localhost”访问本地主机 主机头。最后一个选项应该最适合 IIS Express。

【问题讨论】:

    标签: c# asp.net-mvc proxy webclient fiddler


    【解决方案1】:

    与其尝试通过代理发送,不如通过提琴手环回之一发送。

    http://fiddler.ipv4:11026 ... ...

    这里给出了详细信息:

    http://docs.telerik.com/fiddler/observe-traffic/troubleshooting/notraffictolocalhost

    显示如何设置和捕获流量。当我想查看本地 Web api 和我的 Mvc 项目之间传递的流量时,这是我使用的方法

    【讨论】:

    • 以为这就是答案......但绝对没有区别:(我已经更新了我的问题
    • 抱歉,我应该更改的是服务器(请求)URL,而不是代理 URL - 它有效。谢谢你。现在我只需要修复400. The request hostname is invalid 问题:P
    猜你喜欢
    • 2017-08-05
    • 2012-05-15
    • 2016-01-17
    • 2019-07-15
    • 2019-10-29
    • 2023-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多