【发布时间】:2014-04-01 11:00:40
【问题描述】:
我正在尝试让我的程序通过代理运行,但它不想这样做(System.Net.WebException:操作已超时)。 没有代理一切都很好
这是一个代码:
string proxy = "154.46.33.157";
int port = 8080;
ASCIIEncoding encoding = new ASCIIEncoding();
string postData = "email=" + email + "&pass=" + pass;
byte[] data = encoding.GetBytes(postData);
WebProxy myproxy = new WebProxy(proxy, port);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("SITE");
WebHeaderCollection myWebHeaderCollection = request.Headers;
request.CookieContainer = sCookie;
request.Method = "POST";
request.Proxy = myproxy;
request.ContentType = "application/x-www-form-urlencoded; charset=UTF-8";
request.ContentLength = data.Length;
request.Host = "HOST";
request.UserAgent = "[UA]";
request.Referer = "reffer";
request.KeepAlive = false;
request.Timeout = 20000;
Stream stream = request.GetRequestStream(); // TIMEOUT HERE
stream.Write(data, 0, data.Length);
stream.Close();
request.GetResponse()
.Close();
同时这段代码运行良好
string proxy = "154.46.33.157";
int port = 8080;
WebProxy myproxy = new WebProxy(proxy, port);
WebRequest req = WebRequest.Create("SITE");
req.Timeout = 5000;
req.GetResponse();
代理还活着,我已经通过 IE 对其进行了测试。我该怎么做才能解决它?
【问题讨论】:
-
小心硬编码... 特别是 IP 地址。这就是配置文件的用途!
标签: c# httpwebrequest webproxy