Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么赢了';WebProxyOnLocal为我工作吗?_C#_.net_Httpwebrequest_Webproxy - Fatal编程技术网

C# 为什么赢了';WebProxyOnLocal为我工作吗?

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调用,有没有关于如何强制请求通过

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

我已经输入了“proxyObject.BypassProxyOnLocal=false”。这应该能让它工作不?对于以本地地址为目标的http调用,有没有关于如何强制请求通过WebProxy的建议

    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中对我很有效