我正在尝试获取从C#.NET到本地地址(localhost:3000)的HTTP调用,以使用我设置的代理(以便可以通过提琴手)。如果我将目标URL指向一个非本地地址,则可以使用以下WebProxy方法,但是我需要将其指向我拥有的本地Web服务器(在localhost:3000),并且在执行此操作时,请求不会进行通过代理。

我已经包含“ proxyObject.BypassProxyOnLocal = false”。这应该使它起作用吗?关于如何强制请求通过WebProxy进行针对本地地址的http调用的任何建议?

    WebProxy proxyObject = new WebProxy("http://localhost:8888/", false);
    proxyObject.Credentials = new NetworkCredential();
    proxyObject.BypassProxyOnLocal = false;
    WebRequest.DefaultWebProxy = proxyObject;

    var request = (HttpWebRequest)WebRequest.Create(targetUri);

    // I also included this line as a double check
    request.Proxy = proxyObject;


随后的呼叫不会通过代理,例如,当我这样做时:

 var res = (HttpWebResponse)req.GetResponse();


谢谢

最佳答案

我只是通过在本地主机上附加一个“点”来解决此问题,所以我尝试访问“本地主机”而不是访问“本地主机”。 (请注意主机名末尾的点)

信用到期的地方:
我从此线程http://www.west-wind.com/weblog/posts/2009/Jan/14/Monitoring-HTTP-Output-with-Fiddler-in-NET-HTTP-Clients-and-WCF-Proxies#596591得到了这个不寻常的提示

工作正常!

10-08 07:56
查看更多