代理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出错,这样这样做并不影响更新速度。
日志显示采用了公共的日志列队方法,直接在主项目的任何地方调用都可以。
资源文件列表
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/C#源码世界.url , 192
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/Common/bin/Debug/Common.dll , 7680
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/Common/bin/Debug/Common.pdb , 13824
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/Common/bin/Debug/Library.dll , 31232
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/Common/bin/Debug/Library.pdb , 75264
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/Common/bin/Debug/Model.dll , 4096
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/Common/bin/Debug/Model.pdb , 11776
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/Common/bin/Debug/System.Data.SQLite.dll , 839680
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/Common/Common.csproj , 2796
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/Common/obj/Debug/Common.csproj.FileListAbsolute.txt , 3102
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/Common/obj/Debug/Common.dll , 7680
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/Common/obj/Debug/Common.pdb , 13824
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/Common/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache , 6437
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/Common/obj/Debug/ResolveAssemblyReference.cache , 21704
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/Common/Properties/AssemblyInfo.cs , 1362
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/Common/tb_proxy.cs , 4500
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/HelloCsharp_Proxy/bin/Debug/App_Data/qqwry.dat , 9231464
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/HelloCsharp_Proxy/bin/Debug/Common.dll , 7680
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/HelloCsharp_Proxy/bin/Debug/Common.pdb , 13824
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/HelloCsharp_Proxy/bin/Debug/data.db , 118784
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/HelloCsharp_Proxy/bin/Debug/HelloCsharp_Proxy.exe , 20480
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/HelloCsharp_Proxy/bin/Debug/HelloCsharp_Proxy.pdb , 44544
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/HelloCsharp_Proxy/bin/Debug/HelloCsharp_Proxy.vshost.exe , 11608
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/HelloCsharp_Proxy/bin/Debug/HelloCsharp_Proxy.vshost.exe.manifest , 490
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/HelloCsharp_Proxy/bin/Debug/Library.dll , 31232
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/HelloCsharp_Proxy/bin/Debug/Library.pdb , 75264
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/HelloCsharp_Proxy/bin/Debug/Model.dll , 4096
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/HelloCsharp_Proxy/bin/Debug/Model.pdb , 11776
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/HelloCsharp_Proxy/bin/Debug/System.Data.SQLite.dll , 839680
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/HelloCsharp_Proxy/frmMain.cs , 10461
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/HelloCsharp_Proxy/frmMain.Designer.cs , 5051
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/HelloCsharp_Proxy/frmMain.resx , 6015
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/HelloCsharp_Proxy/frmTest.cs , 1571
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/HelloCsharp_Proxy/frmTest.Designer.cs , 5149
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/HelloCsharp_Proxy/frmTest.resx , 5817
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/HelloCsharp_Proxy/HelloCsharp_Proxy.csproj , 4577
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/HelloCsharp_Proxy/obj/x86/Debug/DesignTimeResolveAssemblyReferences.cache , 1229
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/HelloCsharp_Proxy/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache , 7012
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/HelloCsharp_Proxy/obj/x86/Debug/HelloCsharp_Proxy.csproj.FileListAbsolute.txt , 5979
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/HelloCsharp_Proxy/obj/x86/Debug/HelloCsharp_Proxy.exe , 20480
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/HelloCsharp_Proxy/obj/x86/Debug/HelloCsharp_Proxy.frmMain.resources , 180
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/HelloCsharp_Proxy/obj/x86/Debug/HelloCsharp_Proxy.frmTest.resources , 180
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/HelloCsharp_Proxy/obj/x86/Debug/HelloCsharp_Proxy.pdb , 44544
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/HelloCsharp_Proxy/obj/x86/Debug/HelloCsharp_Proxy.Properties.Resources.resources , 2642
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/HelloCsharp_Proxy/obj/x86/Debug/ResolveAssemblyReference.cache , 28921
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/HelloCsharp_Proxy/obj/x86/Debug/TempPE/Properties.Resources.Designer.cs.dll , 4608
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/HelloCsharp_Proxy/Program.cs , 1027
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/HelloCsharp_Proxy/Properties/AssemblyInfo.cs , 1384
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/HelloCsharp_Proxy/Properties/Resources.Designer.cs , 3240
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/HelloCsharp_Proxy/Properties/Resources.resx , 6195
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/HelloCsharp_Proxy/Properties/Settings.Designer.cs , 1104
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/HelloCsharp_Proxy/Properties/Settings.settings , 249
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/HelloCsharp_Proxy/Resources/test.png , 2142
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/HelloCsharp_Proxy.sln , 4561
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/HelloCsharp_Proxy.suo , 97792
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/Library/bin/Debug/Library.dll , 31232
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/Library/bin/Debug/Library.pdb , 75264
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/Library/bin/Debug/System.Data.SQLite.dll , 839680
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/Library/HttpCookieHelper.cs , 2283
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/Library/HttpHelper.cs , 28053
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/Library/IPHelper.cs , 6159
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/Library/Library.csproj , 2632
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/Library/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache , 6200
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/Library/obj/Debug/Library.csproj.FileListAbsolute.txt , 1818
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/Library/obj/Debug/Library.dll , 31232
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/Library/obj/Debug/Library.pdb , 75264
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/Library/obj/Debug/ResolveAssemblyReference.cache , 10672
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/Library/Properties/AssemblyInfo.cs , 1364
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/Library/RegHelper.cs , 2669
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/Library/SQLiteHelper.cs , 30721
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/Model/bin/Debug/Model.dll , 4096
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/Model/bin/Debug/Model.pdb , 11776
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/Model/Model.csproj , 2254
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/Model/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache , 5958
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/Model/obj/Debug/Model.csproj.FileListAbsolute.txt , 1385
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/Model/obj/Debug/Model.dll , 4096
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/Model/obj/Debug/Model.pdb , 11776
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/Model/Properties/AssemblyInfo.cs , 1360
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/HelloCsharp_Proxy/Model/tb_proxy.cs , 514
代理IP自动获取更新校验器完整项目源码/HelloCsharp_Proxy/项目说明文档.url , 200
