代理的正确设置

时间:2013-09-26 06:41:27

标签: c# configuration proxy httprequest

我正在尝试提交HTTP请求,但我支持代理。我正在尝试自动配置代理,如下面的代码所示,但我找不到404作为响应。我猜测代理配置是不正确的。有什么想法吗?

WebProxy proxy = new WebProxy("http://companyproxy.com/proxy.pac");   
proxy.UseDefaultCredentials = true;  
WebRequest request = WebRequest.Create
("http://weather.noaa.gov/pub/data/observations/metar/stations/LGSO.TXT");
request.Proxy = proxy;
request.Credentials = CredentialCache.DefaultCredentials;
WebResponse response = request.GetResponse();
response.Close();

我尝试过使用代理的默认凭据以及我自己的网络凭据,但是我得到了同样的错误。

编辑: 试过这种方法,在设置>中配置IE代理。连接> LAN

WebRequest request = WebRequest.Create
("http://weather.noaa.gov/pub/data/observations/metar/stations/LGSO.TXT");
request.Proxy = WebRequest.GetSystemWebProxy();
request.Credentials = CredentialCache.DefaultCredentials; ;
WebResponse response = request.GetResponse();

现在我获得代理(407)需要代理身份验证。

3 个答案:

答案 0 :(得分:1)

最后它使用了以下内容:

IWebProxy myProxy = WebRequest.DefaultWebProxy;
myProxy.Credentials = new NetworkCredential(username, password);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(requestURL);          
request.Proxy = myProxy;

答案 1 :(得分:0)

看看是否有效。

WebRequest request = WebRequest.Create("http://weather.noaa.gov/pub/data/observations/metar/stations/LGSO.TXT");

WebResponse response = request.GetResponse();
response.Close();

我也住在代理服务器后面,上面这段代码对我来说很合适。

你看到了吗? Proxy Basic Authentication in C#: HTTP 407 error

答案 2 :(得分:0)

如果在IE中插入了代理设置并且程序在可以通过代理设置的用户下运行,那么只需更改

即可

request.Credentials = CredentialCache.DefaultCredentials;

request.Credentials = CredentialCache.DefaultNetworkCredentials;

这是我使用的唯一两条线: request.UseDefaultCredentials = true; request.Proxy.Credentials = CredentialCache.DefaultNetworkCredentials;

如果您在代理服务器的不允许用户或内置系统帐户下运行程序,则应使用用户可以插入其代理设置的可能性。

亲切的问候, Condra963