Asp.Net 5分钟实现网页实时监控代码
在项目开发中经常会用到监控功能,下面通过本篇文章给大家介绍Asp.Net 5分钟实现网页实时监控,需要的朋友可以参考下一、为什么会用到网页实时监控 LZ最近在无锡买房了,虽然在...
在项目开发中经常会用到监控功能,下面通过本篇文章给大家介绍Asp.Net 5分钟实现网页实时监控,需要的朋友可以参考下
一、为什么会用到网页实时监控
LZ最近在无锡买房了,虽然在上海工作,但是上海房价实在太高无法承受,所以选择还可以接受的无锡作为安身之地。买过房的小伙伴可能知道买房的流程,买房中间有一步很重要的就是需要商品房备案,简单点说就是你买房时可以在政府商品房备案网站处查看你购买房的备案情况,如果是已经备案了开发商还在卖这套房子,那肯定就是一房多卖了。而且很重要一点就是,只有备过案,才能进行下一步银行贷款,在目前银行利息越来越高的情况下,肯定是越早备案越早贷款越有利,所以以最快速度知道自己购买房子的备案情况尤为重要。
当然也可以每天到网站查询自己的备案情况,显然这不是程序员的做法,更不是.Net程序员的做法。程序员的做法肯定是备案一旦下来,程序老老实实的通知到手机上。顺便吐槽一点,查询备案的网站真慢。
二、选择windows服务、窗体(winform)、web还是控制台程序?
当然最合适的肯定是windows服务,winform和web肯定也可以的,控制台程序不一定是最合适的,但肯定开发是最快速的。综合考虑了一下,因为是一个很小的监控项目而且只会用一两个月,或者一两天,所以没变要搞那么复杂,而且windows服务还要安装到服务器,最重要的是控制台是最快开发和最容易部署的,所以最终选择了控制台程序。
三、分析需求
1、需要每隔几分钟查询一次备案情况,所以需要System.Timers.Timer。当然如果是非常健壮的或者是完整的项目,建议用Quartz.NET,当然可以选择Topshelf、Hangfire、FluentScheduler等等。
2、因为需要查询网站的备案情况,获取备案网页的html,然后判断html中是否含有“待售”字样即可,如果没有就说明已经备案了。 这时需要System.Net.WebClient。查询网站.net下就更多了,最基础的就是HttpWebRequst,HttpClient,或者用RestSharp,都是不错的选择。
3、因为需要实时通知情况,所以选择了阿里云的短信通知,因为其他项目用到,所以直接复制代码来用。当然也有很多通知,比如邮件,app,等等。当然我们没必要搞那么复杂。
四、代码模块
直接代码,逻辑和代码很简单。
class Program
{
static System.Timers.Timer timer = null;
static void Main(string[] args)
{
timer = new System.Timers.Timer(2 * 60 * 1000);
timer.Elapsed += Timer_Elapsed; ;
timer.Start();
Console.ReadKey();
}
private static void Timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
WebClient client = new WebClient
{
Encoding = System.Text.Encoding.GetEncoding("utf-8")
};
var html = client.DownloadString("http://www.xxxx.com/xxxxx.html");
Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "......" + "未签。");
if (html.IndexOf("待售") == -1)
{
if (timer != null)
timer.Stop();
// 发送5条短信
for (int i = 0; i < 5; i++)
{
// 发送短信
SmsMessage.Send("152****7178", "SMS_92310001", new { name = "Emrys", status = "恭喜恭喜恭喜,房子已签售!" });
Thread.Sleep(5 * 1000);
}
}
}
}
五、部署
好吧,这项没啥以及意义,直接生成代码,在bin目录拷贝Debug文件夹直接扔到服务器,点击运行xxxxxxx.exe。部署完毕。^_^
六、总结
1、虽然当时只是突发奇想,并没有具体统计时间,拿起vs就是一顿突突。所有代码和部署应该不会超过5分钟。 从这可以看出.Net在vs配合下在一些方面做的还是不错的。
2、现在.Net core开源跨平台以及运行速度,C#“优美的语言”,vs宇宙第一IDE,其他不多说,望.Net越来越好。
以上所述是小编给大家介绍的Asp.Net 5分钟实现网页实时监控,希望对大家有所帮助
-
用ASP实现在线压缩与解压缩功能代码
您还在为空间的FTP不稳定而烦恼吗?现在您只用上传您的RAR压缩包,即可!ASP在线解压/压缩工具只要几秒的时间,解决了网速慢,FTP丢失数据的一大难题先上一个完整代码<!--Name -A...
-
Asp.Net MVC记住用户登录信息下次直接登录功能
有的时候做网站,就需要记住用户登录信息,下次再登录网站时,不用重复输入用户名和密码,原理是浏览器的cookie把状态给记住了!这篇文章主要介绍了Asp.Net MVC记住用户登录信息下次...
-
ASP使用正则提取内容里所有图片路径SRC的实现代码
有时候客户提交的内容里包含多个图片,客户想单独把图片路径提取出来进行保存,下面脚本之家小编跟大家分享ASP正则提取内容里所有图片路径SRC的方法函数,需要的朋友可以参考下...
-
宏基aspire s7笔记本怎么设置U盘启动?Acer aspire s7笔记本U盘启动bios设置教程
acer aspire s7笔记本是在2012年的时候上市的,目前已经停产了。用过acer aspire s7笔记本的朋友都清楚,acer aspire s7笔记本在使用几年后都会有重装系统的需要,但是却有很多用户不知道怎么设置U盘启动,那么接下来小编就为大家分享acer aspire s7笔记本u盘启动bios设置教程。...
-
使用用ASP自动解析网页中的图片地址的方法
一,取得原页中的图片的地址。 <% function PicStr(str) Set objRegExp = New Regexp '设置配置对象 objRegExp.IgnoreCase = True '忽略大小写 o...
-
ASP编程中Session对象失效的客户端解决方法
虽然利用Timeout属性释放资源的策略是出于保护服务器的目的,但是Session对象不可预知的失效性,却成为开发应用程序的一个弊病。因而在实际应用程序的开发中,必须解决Session对象失效的问题。...
-
利用ASP发送和接收XML数据的处理方法
因为要做移动梦网WAP的一些接口,所以要用到这种方式,这个是ASP版本的,利用了MSXML2.XMLHTTP对像,利用这种方法,ASP里调用Servlet或Web Service都是很轻松的!...
-
使用ASP开发网页需要牢记的9个注意事项
永远不要相信用户输入的内容具有适当的大小或者包含适当的字符。在使用其做出决策之前应该始终对用户输入进行验证。最佳的选择是创建一个 COM+ 组件,...
-
ASP实现限制一个ip只能访问一次的方法
文章主要介绍了asp实现限制一个ip只能访问一次的方法,感兴趣的小伙伴们可以参考一下限制一个ip只能访问一次,现在将asp代码分享给大家: <% '////////////////////////////...
-
ASP程序中常使用的几种脚本语言
在浏览器中通过查看源代码的方式是无法看到ASP源代码的,你只能看到由ASP文件输出的结果,而那些只是纯粹的HTML而已。这是因为,在结果被送回浏览器前,脚本已经在服务器执行了。实...