12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- using WingCloudServer.IpOfflineTools.Model;
- using WingCloudServer.IpOfflineTools.Service;
- namespace WingCloudServer.IpOfflineTools
- {
- class Program
- {
- static void Main(string[] args)
- {
- Console.WriteLine("******Ip离线库工具启动******");
- Run();
- Console.ReadLine();
- }
- /// <summary>
- /// 执行数据并生成离线库
- /// </summary>
- private static void Run()
- {
- //读取配置
- var sourceFileDirect = ConfigurationHelper.GetParammeter<StringParameter>("IPService", "IPSourceFilePath").Value;
- var timeStamp = CommonHelper.GetCurrentTimeStamp();
- var destDirect = AppDomain.CurrentDomain.BaseDirectory + "\\IPFolder\\";
- if (!Directory.Exists(destDirect))
- {
- Directory.CreateDirectory(destDirect);
- }
- else
- {
- DirectoryInfo dir = new DirectoryInfo(destDirect);
- FileInfo[] files = dir.GetFiles("*", SearchOption.AllDirectories);
- if (files != null && files.Length >= 10)
- {
- dir.Delete(true);
- Directory.CreateDirectory(destDirect);
- }
- }
- var destTxtPath = destDirect + $"IP_Copy_{timeStamp}.txt";
- File.Copy(sourceFileDirect, destTxtPath, true);
- IPServiceGuide ipService = new IPServiceGuide();
- var sourceIpList = ipService.ReadFile(destTxtPath);
- if (sourceIpList != null && sourceIpList.Count > 0)
- {
- //获取国家信息
- var countryList = ipService.GetCountryFromIpList(sourceIpList);
- if (countryList != null && countryList.Count > 0)
- {
- var resPath = ConfigurationHelper.GetParammeter<StringParameter>("IPService", "IpFileOutputPath").Value;
- if (!string.IsNullOrEmpty(resPath))
- {
- var fileName = ConfigurationHelper.GetParammeter<StringParameter>("IPService", "OutputFileName").Value;
- var pCount = ConfigurationHelper.GetParammeter<IntParameter>("IPService", "PCount").Value;
- var res = ipService.WriteFile(countryList, resPath, fileName, pCount);
- if (res)
- {
- Console.WriteLine($"系统于{ DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") }生成IP离线库成功,IP源文件:IP_Copy_{timeStamp}.txt");
- }
- else
- {
- Console.WriteLine($"系统于{ DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") }生成IP离线库失败");
- }
- return;
- }
- }
- Console.WriteLine($"系统于{ DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") }计算IP列表失败");
- }
- Console.WriteLine($"系统{ DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") }读取IP源文件:IP_Copy_{timeStamp}.txt,失败");
- }
- }
- }
|