首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么WebProxy BypassProxyOnLocal不能为我工作?

为什么WebProxy BypassProxyOnLocal不能为我工作?
EN

Stack Overflow用户
提问于 2010-01-12 07:13:20
回答 2查看 4.5K关注 0票数 3

我正在尝试获取从C# .NET到本地地址(localhost:3000)的HTTP调用,以使用我设置的代理(这样我就可以通过fiddler)。如果我将目标地址指向非本地地址,则使用下面的WebProxy方法有效,但是我需要将其指向我拥有的本地web服务器(位于localhost:3000),并且当我这样做时,请求不会通过代理。

我已经包含了"proxyObject.BypassProxyOnLocal = false“。这应该能让它工作,不是吗?有什么建议吗?如何强制请求通过针对本地地址的http调用的WebProxy?

代码语言:javascript
复制
    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;

但是,后续调用不会通过代理,例如当我这样做时:

代码语言:javascript
复制
 var res = (HttpWebResponse)req.GetResponse();

谢谢

EN

回答 2

Stack Overflow用户

发布于 2011-08-18 13:57:08

我只需在localhost后面加上一个“点”就可以解决这个问题,所以我尝试访问"localhost“而不是”localhost“。(请注意主机名末尾的圆点)

值得表扬的地方:我从这个帖子http://www.west-wind.com/weblog/posts/2009/Jan/14/Monitoring-HTTP-Output-with-Fiddler-in-NET-HTTP-Clients-and-WCF-Proxies#596591得到了这个不同寻常的提示

工作正常!

票数 7
EN

Stack Overflow用户

发布于 2011-04-29 19:49:21

请参阅https://docs.telerik.com/fiddler/observe-traffic/troubleshooting/notraffictolocalhost上的说明

Fiddler和.NET框架被硬编码为不通过任何代理发送对本地主机的请求,并且作为代理,

将不会接收此类流量。最简单的解决方法是使用您的机器名作为主机名,而不是Localhost或127.0.0.1。例如,与其访问http://localhost:8081/mytestpage.aspx,不如访问http://machinename:8081/mytestpage.aspx.

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2045628

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档