自动给页面提交数据的方法

 

模拟用户提交页面数据到另外一个页面,用来测试代码的响应时间,,,加上多线程功能,也可以测试系统的承受能力。算是简单的压力测试吧。

代码步骤;

1,准备参数(实例中是用getStuData()方法从数据库中获取)

2.发出请求

3.获取服务器结果

 

   public   static   string  PostData( string  url,  int  Num)
        
{
           

            
string[] s = getStuData(Num);
            
string postData = s[0];
            
string bmxh = s[1];

            
string   encodeType="gb2312";//"ISO-8859-1";   
    
              Stream   outstream   
=   null;     
              Stream   instream   
=   null;
              StreamReader   sr   
=   null;
              HttpWebResponse   response   
=   null;
              HttpWebRequest   request   
=   null
              Encoding   encoding   
=   Encoding.GetEncoding(encodeType); 
             
byte[]   data   =   encoding.GetBytes(postData);
            
string content = "";
            DateTime dtBegin
=new DateTime();
            DateTime dtEnd 
= new DateTime();

                  
//   准备请求...     

             
try
             
{
                 
//   设置参数
                 request = WebRequest.Create(url) as HttpWebRequest;   
                 CookieContainer cookieContainer 
= new CookieContainer();
                 request.CookieContainer 
= cookieContainer;
                 request.AllowAutoRedirect 
= true;

                 request.Method 
= "POST";
                 request.Timeout 
= 3000;
                 request.Proxy 
= System.Net.GlobalProxySelection.GetEmptyWebProxy();
                 request.ContentType 
= "application/x-www-form-urlencoded";
                 request.Accept 
=
                     
"image/gif,   image/x-xbitmap,   image/jpeg,   image/pjpeg,   application/x-shockwave-flash,   application/vnd.ms-powerpoint,   application/vnd.ms-excel,   application/msword,   */*";

                 request.ContentLength 
= data.Length;
                 outstream 
= request.GetRequestStream();
                 outstream.Write(data, 
0, data.Length);
                 outstream.Close();



                 
//发送请求并获取相应回应数据     
                  dtBegin = DateTime.Now;
                 response 
= request.GetResponse() as HttpWebResponse;
                 
//直到request.GetResponse()程序才开始向目标网页发送Post请求
                 if (response != null)
                 
{
                     instream 
= response.GetResponseStream();

                     sr 
= new StreamReader(instream, encoding);

                     
//返回结果网页(html)代码     

                     content 
= sr.ReadToEnd();
                 }

                 
else
                     content 
= "Error";

                  dtEnd 
= DateTime.Now;
             }
catch
             
{
                 content 
= "Error";
             }


            
if(!content.Equals("Error"))
            
{
                TimeSpan d3 
= dtEnd.Subtract(dtBegin);
                content 
= string.Format("[{2}] 页面载入时间{0}.{1} S ", d3.Seconds, d3.Milliseconds * 0.001, bmxh);
            }

            
return content;   
        }

 null

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值