0

我正在尝试提交 HTTP 请求,但我在代理后面。正如您在下面的代码中看到的那样,我正在尝试自动配置代理,但我得到一个 404 not found 作为响应。我猜代理配置不正确。有任何想法吗?

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();

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

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

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)需要代理身份验证。

4

3 回答 3

1

最后,它与以下内容一起工作:

IWebProxy myProxy = WebRequest.DefaultWebProxy;
myProxy.Credentials = new NetworkCredential(username, password);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(requestURL);          
request.Proxy = myProxy;
于 2013-09-27T13:31:21.950 回答
0

看看这是否有效。

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

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

我也住在代理后面,上面的代码对我来说工作得很好。

你看到这个了吗? C# 中的代理基本身份验证:HTTP 407 错误

于 2013-09-26T08:31:50.533 回答
0

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

request.Credentials = CredentialCache.DefaultCredentials;

request.Credentials = CredentialCache.DefaultNetworkCredentials;

这些是我使用的仅有的两行:request.UseDefaultCredentials = true; request.Proxy.Credentials = CredentialCache.DefaultNetworkCredentials;

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

亲切的问候,Condra963

于 2016-05-12T08:17:32.533 回答