for (int i = 0; i < listString.Count; i++) //循环发请求
{ HttpWebRequest requestbank = (HttpWebRequest)WebRequest.Create("地址");
requestbank.ContentType = "application/x-www-form-urlencoded";
requestbank.Referer = "地址";
requestbank.Headers.Set("Pragma", "no-cache");
requestbank.Accept = "*/*";
requestbank.Headers.Set("Accept-Language", "zh-CN");
requestbank.Headers.Set("Accept-Encoding", "gzip, deflate,sdch");
string temp3 = "u=" + mc3[0].Value + ";" + "ua=" + mc4[0].Value + ";" + "passport=" + mc5[0].Value + ";";
requestbank.Headers.Set("cookie", temp3);
requestbank.Method = "POST"; Encoding encoding233 = Encoding.GetEncoding("utf-8"); byte[] bytesToPost2 = encoding233.GetBytes("action=virement&pwuser=" + listString[i].ToString() + "&to_money=1888888888&content_plus=%E9%80%9A%E8%BF%87%E9%93%B6%E8%A1%8C%E7%BB%99%E4%BD%A0%E8%BD%AC%E8%B4%A61888888888%E5%8D%A1%E8%B7%AF%E9%87%8C%0A%E9%99%84%E8%A8%80%EF%BC%9A);
requestbank.ContentLength = bytesToPost2.Length;
System.IO.Stream requestStream2 = requestbank.GetRequestStream();
requestStream2.Write(bytesToPost2, 0, bytesToPost2.Length);
requestStream2.Close();
bytesToPost2 = encoding233.GetBytes("");
Thread.Sleep(1000); //延时
}这样循环发包就一切正常,一但我把byteToPost2中的188888888换成Money[0].ToString(),即把常量变成变量。就会出现很奇怪的事情。我把第一个18888888换成Money[0].ToString(),发送成功第一个和第三个(总共有五个)。我把两个1888888都改成Money[0].ToString(),发送成功第二个和第三个囧不是应该要不然整个循环没一个成功,要不都成功,怎么会有的成功有的不成功呢?我用弹窗测试下代码,到第二或第三个的时候,就会卡在那里
{ HttpWebRequest requestbank = (HttpWebRequest)WebRequest.Create("地址");
requestbank.ContentType = "application/x-www-form-urlencoded";
requestbank.Referer = "地址";
requestbank.Headers.Set("Pragma", "no-cache");
requestbank.Accept = "*/*";
requestbank.Headers.Set("Accept-Language", "zh-CN");
requestbank.Headers.Set("Accept-Encoding", "gzip, deflate,sdch");
string temp3 = "u=" + mc3[0].Value + ";" + "ua=" + mc4[0].Value + ";" + "passport=" + mc5[0].Value + ";";
requestbank.Headers.Set("cookie", temp3);
requestbank.Method = "POST"; Encoding encoding233 = Encoding.GetEncoding("utf-8"); byte[] bytesToPost2 = encoding233.GetBytes("action=virement&pwuser=" + listString[i].ToString() + "&to_money=1888888888&content_plus=%E9%80%9A%E8%BF%87%E9%93%B6%E8%A1%8C%E7%BB%99%E4%BD%A0%E8%BD%AC%E8%B4%A61888888888%E5%8D%A1%E8%B7%AF%E9%87%8C%0A%E9%99%84%E8%A8%80%EF%BC%9A);
requestbank.ContentLength = bytesToPost2.Length;
System.IO.Stream requestStream2 = requestbank.GetRequestStream();
requestStream2.Write(bytesToPost2, 0, bytesToPost2.Length);
requestStream2.Close();
bytesToPost2 = encoding233.GetBytes("");
Thread.Sleep(1000); //延时
}这样循环发包就一切正常,一但我把byteToPost2中的188888888换成Money[0].ToString(),即把常量变成变量。就会出现很奇怪的事情。我把第一个18888888换成Money[0].ToString(),发送成功第一个和第三个(总共有五个)。我把两个1888888都改成Money[0].ToString(),发送成功第二个和第三个囧不是应该要不然整个循环没一个成功,要不都成功,怎么会有的成功有的不成功呢?我用弹窗测试下代码,到第二或第三个的时候,就会卡在那里
requestbank.ContentLength = bytesToPost2.Length;
System.IO.Stream requestStream2 = requestbank.GetRequestStream();
requestStream2.Write(bytesToPost2, 0, bytesToPost2.Length);
requestStream2.Close();
bytesToPost2 = encoding233.GetBytes("");写入效率太低了,cpu一直在等待,有什么办法可以解决么?