private async void button1_Click(object sender, EventArgs e)
{
var cookie = webBrowser1.Document.Cookie;
await
Task.WhenAll(
listBox1
.Items
.Cast<string>()
.Select(async s =>
{
var data = "action=relationship&user_id=" + s + "&relation=follow";
var req = WebRequest.Create("http://example.com") as HttpWebRequest;
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";
req.ContentLength = data.Length;
req.Headers["cookie"] = cookie;
using (var sw = new StreamWriter(await req.GetRequestStreamAsync(), Encoding.ASCII))
{
sw.Write(data);
sw.Close();
}
}));
listBox1.Items.Clear();
}
Я пробовал это миллион раз, и он запускает его два раза каждый раз. И когда он запускает это два раза, он делает то, что должен.Почему это висит?
Что нужно сделать, это взять элементы из списка и использовать каждый элемент как часть запроса POST. Затем, когда это будет сделано, он очистит список.
Может кто-нибудь объяснить, что случилось?
Вам необходимо URL-encode 's'. – SLaks
s - просто номер. Поэтому нет необходимости в кодировке URL, но спасибо. –
В чем проблема? – SLaks