Я хотел сделать POST
a WebRequest
для браузера в цикле, потому что содержание POST
содержит число. Теперь у меня есть замороженная программа.C# HttpWebRequest «POST» с Loop
Вот мой код:
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);
}
выводе является:
FriendlyNr: 1
И браузерной получил только один Post Content.
Итак, первый запуск работает, но второй из них не работает. Программа замерзает на
Stream stream = req.GetRequestStream();
Я хочу, чтобы петля 10 раз. Как это сделать?
Спасибо. <3 Это мне очень помогло. – Baumsi
Рад помочь, и добро пожаловать в переполнение стека! Если этот ответ или любой другой решают вашу проблему, отметьте его как принятый, чтобы помочь другим найти его в будущем. Благодаря! – awh112