发送POST数据包再次悲剧。。。

Anew_G 2012-03-09 07:28:26
                    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(),发送成功第二个和第三个。。。。。。囧

不是应该要不然整个循环没一个成功,要不都成功,怎么会有的成功有的不成功呢?

我用弹窗测试下代码,到第二或第三个的时候,就会卡在那里。。。
...全文
178 点赞 收藏 8
写回复
8 条回复
Anew_G 2012年03月12日
原来是request没有abort
回复 点赞
Anew_G 2012年03月10日
个人感觉是这里

                        Encoding encoding233 = Encoding.GetEncoding("utf-8");

byte[] bytesToPost2 = encoding233.GetBytes("action=virement&pwuser=" + listString[i].ToString() + "&to_money=1888888888&content_pluE8%BD%AC%E8%B4%A61888888888%E5%8D%A1%EBC%9A);
requestbank.ContentLength = bytesToPost2.Length;
System.IO.Stream requestStream2 = requestbank.GetRequestStream();
requestStream2.Write(bytesToPost2, 0, bytesToPost2.Length);
requestStream2.Close();
bytesToPost2 = encoding233.GetBytes("");


写入效率太低了,cpu一直在等待,有什么办法可以解决么?
回复 点赞
Anew_G 2012年03月10日
Up. 求解答
回复 点赞
Anew_G 2012年03月09日
时间都花到哪里去了? 转码?发包? 不用怎么慢吧 我发一个都快1分钟了
回复 点赞
Anew_G 2012年03月09日
[Quote=引用 2 楼 sxldfang 的回复:]

+"psaaport="+HttpUtility.UrlEncode( listString[i].ToString() )
[/Quote]

用了以后发包速度还是非常的慢 请问是怎么回事?
回复 点赞
sxldfang 2012年03月09日
+"psaaport="+HttpUtility.UrlEncode( listString[i].ToString() )
回复 点赞
Anew_G 2012年03月09日
我的POST正文内容发送方式是不是有错误?为什么会有的成功,有的不成功?
回复 点赞
发动态
发帖子
C#
创建于2007-09-28

8.4w+

社区成员

64.0w+

社区内容

.NET技术 C#
社区公告
暂无公告