- 博客(0)
- 资源 (73)
空空如也
C#人事工资管理系统(SQL Server 2005数据库)
C#人事工资管理系统(SQL Server 2005数据库)C#人事工资管理系统(SQL Server 2005数据库)
2014-07-13
代理IP自动更新校验器完整项目源码
代理IP用途非常广泛,但是因为其不够稳定所以需要不停的更新,C#源码世界第二季重磅出击,能够自动获取更新代理IP地址并自动校验有效性。
整个项目非常完整,从数据库设计到流程,多线程执行任务。数据库基于SQLite,实现了以下功能:
定时自动从代理IP网站提取代理到数据库中并判断该代理ip的位置。
多线程校验代理IP有效性,自动剔除无效代理。
提供了现成的随机去除一个有效代理IP的方法,并附送一个demo,自动提取一个有效IP并使用这个IP访问网站。
源码采用简单三层架构:
Model:模型层,主要放了一个tb_proxy模型,包含代理ip的IP、端口、有效性、地址、最后校验时间
Common:数据交互,主要存放了一个tb_proxy类,包含了对代理IP的增加、删除、修改和随机提取
Library:公用类库,包含一个HttpHelper类、RegHelper正则帮助类、IPHelper根据ip查询位置信息类和一个SQLiteHelper类。
主程序:一个主窗体和一个代理提取测试窗体。主窗体中主要完成代理的提取和多线程校验,测试窗体主要实现随机提取一个有效代理并访问一个ip查询网站,测试代理有效性和真实性。
源码特色:
项目非常简洁明了,代码都有详细的注释说明。
使用了qqwry.dat根据IP获取所在地址。
多线程校验使用了lock以防止冲突,默认开启了50个线程,如果觉得CPU扛不住可以适当减少。
更新数据库的方法也使用了lock,因为太多的并发会导致SQLite出错,这样这样做并不影响更新速度。
日志显示采用了公共的日志列队方法,直接在主项目的任何地方调用都可以。
用到的源码:
HttpHelper的详细介绍在这里:http://www.hellocsharp.com/code/38.aspx
SQLite设计使用的是SQLite Expert Personal 3.5,使用方法在:http://www.hellocsharp.com/article/28.aspx
注意:
本源码中的代理IP来源自两个网站,提取方法也是内置的,所以如果需要更多的代理IP自己找到提供代理IP的网站或者接口,写相应的提取代码就可以了,剩下的就是直接调用写好的添加方法了。
本源码由C#源码世界首发,如果转载或复制请尊重作者版权,如果对于源码有好的建议或者有不明白的地方可以直接点击下方的提问按钮进行提问!
2014-07-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人