用C#WebClient+Server酱写一个监听网站通知的功能
Server酱:https://sc.ftqq.com/3.version
功能:往 http://sc.ftqq.com/SCKEY.send 发GET请求,就可以在微信里收到消息。
using System;
using System.Text;
using System.Net;
using System.Threading;class DownloadStringTest
{static void Main(string[] args){ int times = 0;//对比次数string url = "http://jwb.xujc.com/tzgg/list.htm";//监控网址string url_1 = "https://sc.ftqq.com/SCUf.send?text=学校教务网有新通";//server酱服务:往绑定微信发送信息string dataSource = DownloadString(url);//获取监控网址指定的通知字符串Thread t = new Thread(Run) { IsBackground = false };//创建线程t.Start();//启动线程while(true){Thread.Sleep(60000);//每过六十秒运行一次string newDataSource = DownloadString(url);//六十秒后再次换取新的通知字符串times++;//计数++Console.WriteLine( "Running...Times:" + times );//提示信息if(dataSource != newDataSource )//对比六十秒前后的通知字符串{dataSource = newDataSource;//前后字符串不同,则刷新旧通知字符串Console.WriteLine( "学校教务网有新通知!" );//提示信息WebClient client = new WebClient();//创建WebClient对象var clientText = client.DownloadData(url_1); //取网页源码,启用server酱服务Console.WriteLine( Encoding.GetEncoding("UTF-8").GetString(clientText) ); //编码转换,输出状态}}}public static void Run(){Console.WriteLine( "Begin" );//提示信息}public static string FindString(string text)//找到通知栏第一项到第二项字符串,并返回{string strStart = "list_item i1";int strLength = strStart.Length;string str = text.Substring(text.IndexOf("list_item i1")+strLength,text.IndexOf("list_item i3")-text.IndexOf("list_item i1")-strLength);return str;}public static string DownloadString(string url)//取网页源码,编码转换,调用FindString(){try{var client = new WebClient();var clientText = client.DownloadData(url); //取网页源码var text = Encoding.GetEncoding("UTF-8").GetString(clientText); //编码转换string str = FindString( text );return str;}catch (Exception e){return e.ToString();}}
}
用C#WebClient+Server酱写一个监听网站通知的功能相关推荐
- 自动化测试(三)如何用python写一个函数,这个函数的功能是,传入一个数字,产生N条邮箱,产生的邮箱不能重复。...
写一个函数,这个函数的功能是,传入一个数字,产生N条邮箱,产生的邮箱不能重复.邮箱前面的长度是6-12之间,产生的邮箱必须包含大写字母.小写字母.数字和特殊字符 和上一期一样 代码中间有段比较混沌 有 ...
- 用Java手写一个微型下载资源网站
文章目录 手写一个微型下载资源网站[Java实现用户注册.登陆.下载功能] 一.技术栈 二.流程分析图 注册 登陆 下载 三.案例实现效果 首页 注册 登陆 下载网主页 壁纸下载 书籍下载 影视下载 ...
- 写一个计算器,要求实现加减乘除功能,并且能够接受新数据,通过用户交互实现
写一个计算器,要求实现加减乘除功能,并且能够接受新数据,通过用户交互实现 要求: 1.写四个方法:加减乘除 2.利用循环+switch进行用户交互 3.传递需要操作的两个数 4.输出结果 packag ...
- 关于一个监听、发送QQ消息的插件的使用部署
先来简单介绍下这个插件,这个插件名为酷Q(coolq),官网点这里,是一群大佬们开发的QQ插件,其中有各种各样的群机器人,可以说是非常的好用了. 下面我简单的说一下他的使用以及在linux上的部署: ...
- Go聊天室的思路:一个拨号 一个监听
客户端: 1.拨号服务器 建立连接 2.写一个协程进行死循环读取写入的信息 3.写入之后,写入到连接之中 服务端: 1.服务端进行监听 2.死循环等待接收 有信息的时候进行读取信息 3.读取的消 ...
- 如何写一个优质的网站标题title?
网站标题也就是我们俗说的网站title,在html的超文本标签中<title>对于网站的设计和seo搜索引擎的优化都是有着重大的意义,网站的标题决定着我们网站的流量和转化的多少,一个好的标 ...
- 学习写一个模仿天猫网站
学习完了前端的HTML CSS JavaScript等各项技术之后,会有一个感慨,各个知识点分开都不难,但是要做出一个成型的,好看的,时尚的网页,就无从下手. 这就需要经验的积累了. 那么,写一个模仿 ...
- 一个监听home键锁屏键的工具类
/** * Home键监听封装 */ public class HomeWatcher {static final String TAG = "HomeWatcher"; priv ...
- 用nodej和glub-watcher写的监听go 项目自动编译,很鸡肋
glub 一般都是很轻量的编译. go太重了,改一小个部分,就编译的话,多数是编译失败. 而且很消耗性能,还没想到完美的优化办法. 暂时用个定时器 监听2秒,停止1秒,如此循环,会减少些 " ...
最新文章
- 深入分析 Redis Lua 脚本运行原理
- Leetcode 137. 只出现一次的数字 II 解题思路及C++实现
- 2017年秋季个人阅读计划
- java分布式对象(RMI+部署使用RMI的程序)
- The security settings could not be applied to the database because the connection has failed安装Mysql
- 【Flink】connection indicates remote task manager was lost
- Windows Server 2012配置开机启动项
- 前端获取div里面的标签_「HTML」什么是 HTML 中的 div 标签
- 关于线性模型你可能还不知道的二三事
- 读取xml文件分析 EntityName 时出错的解决方案
- 汽车经销商销售发票扫描识别方案
- 关于oneNote插件加载不显示的问题(NoteHighlight)
- Java开发帮助文档
- 激光雷达+imu_大疆览沃浩界(Livox Horizon)激光雷达测评
- 自动驾驶 Apollo 源码分析系列,感知篇(一)
- 如何制作ANE+Android以及ANE开发中可能遇到的坑
- 奈奎斯特定理和香农定理解释
- cos(a+b)=cosa*cosb-sina*sinb的推导过程
- Apache ShenYu ModifyResponse插件使用
- 中文文字检测及识别(ORC)