【发布时间】:2012-07-04 09:40:37
【问题描述】:
以下是我的代码:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Timeout = timeout;
request.ReadWriteTimeout = timeout;
request.Proxy = new WebProxy("http://" + proxyUsed + "/", true);
request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.63 Safari/535.7";
request.CookieContainer = new CookieContainer();
request.AllowAutoRedirect = true;
ASCIIEncoding encoding = new ASCIIEncoding();
string postData = "";
foreach (string[] p in parameter)
{
if (postData != "")
postData += "&";
postData += string.Format("{0}={1}", p[0], p[1]);
}
byte[] data = encoding.GetBytes(postData);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = data.Length;
using (Stream newStream = request.GetRequestStream())
{
newStream.Write(data, 0, data.Length);
newStream.Close();
}
using (WebResponse myResponse = request.GetResponse())
{
using (StreamReader sr = new StreamReader(myResponse.GetResponseStream(), System.Text.Encoding.UTF8))
{
result = sr.ReadToEnd();
httpLink = myResponse.ResponseUri.AbsoluteUri;
sr.Close();
}
myResponse.Close();
}
我在向网页发出 POST http 请求时遇到了问题。当我使用直接连接时,它工作正常。但是如果我使用代理,它会抛出一个超时异常。但是,如果我将 postData 设置为空,即使我使用代理也可以正常工作。 最可能的原因是什么? 谢谢。
【问题讨论】:
标签: c# post proxy timeout httprequest