问题详述:使用C#中的HttpWebRequest类,post数据到一个页面,然后获取页面的返回信息。post数据的代码如下:
public string GetSaler(string saleOrderSn)
{
string myUrl = "***";
string pData = "***;
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(myUrl);
byte[] requestBytes = System.Text.Encoding.UTF8.GetBytes(pData);
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";
req.ContentLength = requestBytes.Length;
Stream requestStream = req.GetRequestStream();
requestStream.Write(requestBytes, 0, requestBytes.Length);
requestStream.Close();
HttpWebResponse res = (HttpWebResponse)req.GetResponse();
StreamReader sr = new StreamReader(res.GetResponseStream(), System.Text.Encoding.UTF8);
string strMessage = sr.ReadToEnd();
sr.Close();
res.Close();
return strMessage;
}
上面的post数据的函数,调用该函数的方法是:(一个button调用)
protected void Import1_Click(object sender, EventArgs e)
{
for(int i=0;i<str.length;i++)
{
GetSaler(str[i]);
}
}
经过测试发现,每次只能循环调用2-4次(成功的),后面都提示连接超时之类的错误。求帮助,先谢谢的。
public string GetSaler(string saleOrderSn)
{
string myUrl = "***";
string pData = "***;
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(myUrl);
byte[] requestBytes = System.Text.Encoding.UTF8.GetBytes(pData);
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";
req.ContentLength = requestBytes.Length;
Stream requestStream = req.GetRequestStream();
requestStream.Write(requestBytes, 0, requestBytes.Length);
requestStream.Close();
HttpWebResponse res = (HttpWebResponse)req.GetResponse();
StreamReader sr = new StreamReader(res.GetResponseStream(), System.Text.Encoding.UTF8);
string strMessage = sr.ReadToEnd();
sr.Close();
res.Close();
return strMessage;
}
上面的post数据的函数,调用该函数的方法是:(一个button调用)
protected void Import1_Click(object sender, EventArgs e)
{
for(int i=0;i<str.length;i++)
{
GetSaler(str[i]);
}
}
经过测试发现,每次只能循环调用2-4次(成功的),后面都提示连接超时之类的错误。求帮助,先谢谢的。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货