[英]c# HttpWebRequest "POST" with Loop
我想要做的POST
一个WebRequest
用于循环中的网页游戏,因为POST
内容包含了许多。 现在我有一个冻结的程序。
这是我的代码:
String loginData = "login";
// Set Cookie
CookieContainer cookieContainer = new CookieContainer();
// Login
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create("URL");
req.CookieContainer = cookieContainer;
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";
ASCIIEncoding encoding = new ASCIIEncoding();
byte[] loginDataBytes = encoding.GetBytes(loginData);
req.ContentLength = loginDataBytes.Length;
Stream stream = req.GetRequestStream();
stream.Write(loginDataBytes, 0, loginDataBytes.Length);
stream.Close();
HttpWebResponse res = (HttpWebResponse)req.GetResponse();
// Start the Loop
for (int i=1; i < 10; i++)
{
String Friendly = "frday=" + i;
req = (HttpWebRequest)HttpWebRequest.Create("URL");
req.CookieContainer = cookieContainer;
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";
byte[] Fr = encoding.GetBytes(Friendly);
req.ContentLength = Fr.Length;
Stream stream = req.GetRequestStream();
stream.Write(Fr, 0, Fr.Length);
stream.Close();
Console.WriteLine("FriendlyNr: " + i);
}
输出是:
友好编号:1
而 Browsergame 只得到了一个 Post Content。
所以第一次运行正常,但第二次运行不起作用。 程序冻结在
Stream stream = req.GetRequestStream();
我想循环10次。 如何做到这一点?
您使用的是同一个Stream
对象——每次都需要使用一个新的HttpRequest
。 看看这里,看看一个潜在的解决方案。 确保您还关闭了Stream
对象。
此外,将代码放在 using 语句中,例如using (var requestStream = request.GetRequestStream())
将有助于确保正确处理和收集对象。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.