要求:可以让用户根据间隔时间的设置,自动登录,记录需求第2条的信息,写入数据库需求:
1、任务名称、设定URL地址、配置登录用户名和密码、间隔时间(最少1分钟)2、记录响应时间(记录HTTP请求的加载时间)、加载时间、记录响应状态(404、505等、响应延时),提交请求日期+时间和结束日期+时间;
上面的数据怎么取的啊,怎么做啊 ,,大大们帮帮忙额,,只有2天时间!
1、任务名称、设定URL地址、配置登录用户名和密码、间隔时间(最少1分钟)2、记录响应时间(记录HTTP请求的加载时间)、加载时间、记录响应状态(404、505等、响应延时),提交请求日期+时间和结束日期+时间;
上面的数据怎么取的啊,怎么做啊 ,,大大们帮帮忙额,,只有2天时间!
解决方案 »
- 高分求解(系统安装问题)
- 谁有VS2008中文版本提供下载
- 探讨.net ajxa updatepanel对request reponse session的解决方案
- 请问如何将treeview的背景改为透明的?
- 紧急求助:自动计算列无法更新至数据库的问题
- LOG4NET怎么样实现用户所的操作的跟踪? 最好生成文本存起来
- 我是菜鸟!!!谁能提供入门级别的实现打印功能的文章或代码!
- 关于多关键字搜索的问题!SQL2005求解
- 写一个RegularExpressionValidator验证控件,验证输入文本框的内容不得大于100个字符?
- APSX上传文件时的权限问题
- 此流不支持查找功能
- 火狐showModalDialog上的链接如何在新开窗口中打开?
数据库 现在要保存这些信息 根据每个用户
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(""); HttpWebResponse response = (HttpWebResponse)request.GetResponse();
if (response.StatusCode == HttpStatusCode.OK)
{ }
计时使用DateTime.比较时间差
2。 如果你非要重新做日志,那么请实现一个httpHandler在httpHandler里去处理它,有关如何实现httpHandler不多讲了,google把,这方面文章一大把实际我根本不建议自己做日志,没啥实际意义。不说iis本身就有日志,单说你频繁把这种无关紧要的数据写入数据的开销就不小,而且还有一个麻烦,那就是会产生一个巨大数据库log日志(不是你的日志,而是数据库本身的信息日志,一般来说如果是这种频繁写入操作,1月内就会产生至少400M的数据日志,虽然你可以用简单模式不让数据库产生日志,但是这样并不划算)
//取页面加载时间,用的流判断页面加载时间,有可能有误差
TimeSpan tsStar = new TimeSpan(DateTime.Now.Ticks);
//读取页面流
string HTMLText = Login(txtUserName.Text, txtUserpass.Text, txtUrl.Text);
string EndDate = DateTime.Now.ToShortDateString();
string EndTime = DateTime.Now.ToLongTimeString() + DateTime.Now.Millisecond.ToString();
TimeSpan tsEnd = new TimeSpan(DateTime.Now.Ticks);
txtEndDate.Text = EndDate;
txtEndTIme.Text = EndTime; //得到页面加载时间
TimeSpan time = tsEnd.Subtract(tsStar);
double jiazai = time.TotalSeconds;
//显示页面加载时间
txtyemiantime.Text = jiazai.ToString()+"秒";
//请求开始
TimeSpan tsStar = new TimeSpan(DateTime.Now.Ticks); HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
//请求得到回应
TimeSpan tsEnd = new TimeSpan(DateTime.Now.Ticks); //提交请求的日期
string lasttime = response.LastModified.ToShortDateString();
//提交请求的时间
string Savetime = response.LastModified.ToLongTimeString();
//Http加载时间
TimeSpan tsp = tsEnd.Subtract(tsStar).Duration();
int state = (int)response.StatusCode;
if (state == 200)
{
TimeSpan tsCenter = new TimeSpan(DateTime.Now.Ticks);
TimeSpan time = tsCenter.Subtract(tsStar);
double se = time.TotalSeconds;
txtHttpTime.Text = se.ToString();
}
//在页面上显示
textBox1.Text = state.ToString(); //状态
txttime.Text = lasttime.ToString();//提交日期
txtSaveTime.Text = Savetime.ToString(); //提交时间
txtHttpTime.Text = tsp.TotalMilliseconds.ToString() + "毫秒";//Http响应时间 response.Close();
public string Login(string UserName, string UserPwd, string LoginUrl)
{
try
{
//定义Cookie容器
CookieContainer CookieArray = new CookieContainer(); //创建Http请求
HttpWebRequest LoginHttpWebRequest = (HttpWebRequest)WebRequest.Create(LoginUrl); //登录数据
string LoginData = "email=" + UserName + "&password=" + UserPwd;
//数据被传输类型
LoginHttpWebRequest.ContentType = "application/x-www-form-urlencoded";
//数据长度
LoginHttpWebRequest.ContentLength = LoginData.Length;
//数据传输方法 get或post
LoginHttpWebRequest.Method = "POST";
//设置HttpWebRequest的CookieContainer为刚才建立的那个CookieArray
LoginHttpWebRequest.CookieContainer = CookieArray;
//获取登录数据流
Stream myRequestStream = LoginHttpWebRequest.GetRequestStream();
//StreamWriter
StreamWriter myStreamWriter = new StreamWriter(myRequestStream, Encoding.Default);
//把数据写入HttpWebRequest的Request流
myStreamWriter.Write(LoginData); //关闭打开对象
myStreamWriter.Close(); myRequestStream.Close(); //新建一个HttpWebResponse
HttpWebResponse myHttpWebResponse = (HttpWebResponse)LoginHttpWebRequest.GetResponse(); //获取一个包含url的Cookie集合的CookieCollection
myHttpWebResponse.Cookies = CookieArray.GetCookies(LoginHttpWebRequest.RequestUri); WebHeaderCollection a = myHttpWebResponse.Headers; Stream myResponseStream = myHttpWebResponse.GetResponseStream(); StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.Default); string Txt = myStreamReader.ReadToEnd(); //把数据从HttpWebResponse的Response流中读出
myStreamReader.Close(); myResponseStream.Close();
return Txt;
}
catch (Exception ex)
{
throw ex;
}
}