发送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(),发送成功第二个和第三个。。。。。。囧

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

我用弹窗测试下代码,到第二或第三个的时候,就会卡在那里。。。
...全文
260 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
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正文内容发送方式是不是有错误?为什么会有的成功,有的不成功?

111,095

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧