C# 为什么赢了';WebProxyOnLocal为我工作吗?
我正在尝试从C#.NET获取HTTP调用到本地地址(localhost:3000),以使用我设置的代理(这样我就可以通过fiddler)。如果我将目标URL指向非本地地址,则使用下面的WebProxy方法是可行的,但是我需要将其指向我拥有的本地web服务器(在localhost:3000),并且当我这样做时,请求不会通过代理 我已经输入了“proxyObject.BypassProxyOnLocal=false”。这应该能让它工作不?对于以本地地址为目标的http调用,有没有关于如何强制请求通过WebProxy的建议C# 为什么赢了';WebProxyOnLocal为我工作吗?,c#,.net,httpwebrequest,webproxy,C#,.net,Httpwebrequest,Webproxy,我正在尝试从C#.NET获取HTTP调用到本地地址(localhost:3000),以使用我设置的代理(这样我就可以通过fiddler)。如果我将目标URL指向非本地地址,则使用下面的WebProxy方法是可行的,但是我需要将其指向我拥有的本地web服务器(在localhost:3000),并且当我这样做时,请求不会通过代理 我已经输入了“proxyObject.BypassProxyOnLocal=false”。这应该能让它工作不?对于以本地地址为目标的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();
谢谢请参见
Internet Explorer和.NET Framework是硬编码的,不通过任何代理发送对Localhost的请求,作为代理,Fiddler将不会收到此类流量
最简单的解决方法是使用计算机名作为主机名,而不是Localhost或127.0.0.1。比如说,与其去打,不如去拜访
我只需在localhost后面加上一个“点”就可以解决这个问题,因此我尝试访问“localhost”,而不是访问“localhost”。(注意主机名末尾的点) 信用到期时的信用: 我从这条线索中得到了这个不同寻常的线索
很好 似乎是WCF中的一个bug。选中此项:
忘了这个把戏。仅在某些浏览器中需要。在IE7中对我很有效