当前位置: 首页 > news >正文

dremrever做网站流程网页生成pdf不显示

dremrever做网站流程,网页生成pdf不显示,武夷山网站推广服务,h5 WordPress商业收费 百度地图高德地图腾讯地图纯真IP 开源免费 纯真ip免费版 以前可以直接下载#xff0c;现在获取ip数据库的方式改变了#xff0c;自行官网查看把#xff0c;个人或者学术研究#xff0c;商用追责#xff0c;商业用途慎用 using System.Collections.Generic; us…商业收费 百度地图高德地图腾讯地图纯真IP 开源免费 纯真ip免费版 以前可以直接下载现在获取ip数据库的方式改变了自行官网查看把个人或者学术研究商用追责商业用途慎用 using System.Collections.Generic; using System.IO; using System.Reflection; using System.Text; using System; using Microsoft.Extensions.Options; using Youhuo.ConfigModel; using System.Text.RegularExpressions;namespace Stu01 {public class IPSearchHelper{private readonly IOptionsChunZhenSetting options;System.IO.FileStream ipFile;long ip;public IPSearchHelper(IOptionsChunZhenSetting options){this.options options;}///summary/// 地理位置,包括国家和地区////summarypublic struct IPLocation{public string country, area;}///summary/// 获取指定IP所在地理位置////summary///param namestrIP要查询的IP地址/param///returns/returnspublic IPLocation GetIPLocation(string strIP){IPLocation loc new IPLocation();//return loc;if (string.IsNullOrEmpty(strIP)){return loc;}var match Regex.Match(strIP, ^(25[0-5]|2[0-4]\d|[0-1]?\d?\d)(\.(25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}$);if (!match.Success){return loc;}ip IPToLong(strIP);var RegexStr (^[\/\\].*)|(.*:.*);//判断是不是绝对路径,options.Value.DatPath纯真数据库存放的路径if (System.Text.RegularExpressions.Regex.IsMatch(options.Value.DatPath, RegexStr)){ipFile new System.IO.FileStream(options.Value.DatPath, System.IO.FileMode.Open, System.IO.FileAccess.Read);}else{var fullPath Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), options.Value.DatPath);ipFile new System.IO.FileStream(fullPath, System.IO.FileMode.Open, System.IO.FileAccess.Read);}long[] ipArray BlockToArray(ReadIPBlock());long offset SearchIP(ipArray, 0, ipArray.Length - 1) * 7 4;ipFile.Position offset;//跳过起始IPipFile.Position ReadLongX(3) 4;//跳过结束IPint flag ipFile.ReadByte();//读取标志if (flag 1)//表示国家和地区被转向{ipFile.Position ReadLongX(3);flag ipFile.ReadByte();//再读标志}long countryOffset ipFile.Position;loc.country ReadString(flag);if (flag 2){ipFile.Position countryOffset 3;}flag ipFile.ReadByte();loc.area ReadString(flag);ipFile.Close();ipFile null;return loc;}///summary/// 将字符串形式的IP转换位long////summary///param namestrIP/param///returns/returnspublic long IPToLong(string strIP){if (strIP.Equals(::1)){strIP 127.0.0.1;}byte[] ip_bytes new byte[8];string[] strArr strIP.Split(new char[] { . });if (strArr.Length 1){return 0;}byte tmpNumber;for (int i 0; i 4; i){var res byte.TryParse(strArr[3 - i], out tmpNumber);ip_bytes[i] res ? tmpNumber : (byte)0;}return BitConverter.ToInt64(ip_bytes, 0);}///summary/// 将索引区字节块中的起始IP转换成Long数组////summary///param nameipBlock/paramlong[] BlockToArray(byte[] ipBlock){long[] ipArray new long[ipBlock.Length / 7];int ipIndex 0;byte[] temp new byte[8];for (int i 0; i ipBlock.Length; i 7){Array.Copy(ipBlock, i, temp, 0, 4);ipArray[ipIndex] BitConverter.ToInt64(temp, 0);ipIndex;}return ipArray;}///summary/// 从IP数组中搜索指定IP并返回其索引////summary///param nameipArrayIP数组/param///param namestart指定搜索的起始位置/param///param nameend指定搜索的结束位置/param///returns/returnsint SearchIP(long[] ipArray, int start, int end){int middle (start end) / 2;if (middle start)return middle;else if (ip ipArray[middle])return SearchIP(ipArray, start, middle);elsereturn SearchIP(ipArray, middle, end);}///summary/// 读取IP文件中索引区块////summary///returns/returnsbyte[] ReadIPBlock(){long startPosition ReadLongX(4);long endPosition ReadLongX(4);long count (endPosition - startPosition) / 7 1;//总记录数ipFile.Position startPosition;byte[] ipBlock new byte[count * 7];ipFile.Read(ipBlock, 0, ipBlock.Length);ipFile.Position startPosition;return ipBlock;}///summary/// 从IP文件中读取指定字节并转换位long////summary///param namebytesCount需要转换的字节数主意不要超过8字节/param///returns/returnslong ReadLongX(int bytesCount){byte[] _bytes new byte[8];ipFile.Read(_bytes, 0, bytesCount);return BitConverter.ToInt64(_bytes, 0);}///summary/// 从IP文件中读取字符串////summary///param nameflag转向标志/param///returns/returnsstring ReadString(int flag){if (flag 1 || flag 2)//转向标志ipFile.Position ReadLongX(3);elseipFile.Position - 1;Listbyte list new Listbyte();byte b (byte)ipFile.ReadByte();while (b 0){list.Add(b);b (byte)ipFile.ReadByte();}Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);return Encoding.GetEncoding(GB2312).GetString(list.ToArray());}} } 但是有高并发问题 ip2region 提供了多种语言的支持更新频率高支持高并发 Install-Package IP2Region.Net下载保存xdbhttps://github.com/lionsoul2014/ip2region/blob/master/data/ip2region.xdb //这里为啥直接填写ip2region.xdb因为用了始终复制 ISearcher searcher new Searcher(CachePolicy.File, ip2region.xdb); var ipResult searcher.Search(123.232.22.18);iptools C#版本简单易用支持高并发响应快但是更新频率不高 Install-Package IPTools.China下载ip数据库https://github.com/stulzq/IPTools/raw/master/db/ip2region.db设置为始终复制 运行代码即可 IpTool.Search(your ip address);结果 {IpAddress:123.232.22.18,Country:中国,CountryCode:null,Province:山东,ProvinceCode:null,City:济南,PostCode:null,NetworkOperator:联通,Latitude:0,Longitude:0,AccuracyRadius:null }
http://www.tj-hxxt.cn/news/229913.html

相关文章:

  • 高端建站是什么公司网站建设建设
  • 新网站 seo网站seo分析报告
  • 新建网站站点的一级a做爰片图片免费观看网站
  • 重庆高考征集志愿网站拍摄企业宣传片哪家好
  • 网站建设初期怎么添加内容天津专业网站设计
  • 广西网站设计运营公司如何推广网站运营
  • 在线原型设计网站wordpress 主页地址函数
  • 一站式外贸综合服务平台如何建设一个简单的公司网站
  • wordpress 火车头接口邯郸网站优化技巧
  • 合肥企业建站程序国家重大建设项目库网站电话
  • 网站移动化建设方案asp.net 网站建设方案
  • 网站建设厌倦网站 缓存方式
  • 万维网申请网站域名佛山国内快速建站
  • 东营网站建设教程简单建设网站首页
  • 建地方门户网站建筑设计方案汇报ppt
  • 结婚网站模版深州做网站公司
  • 合肥网站制作开发个人个案网站 类型
  • 支付宝 收费 网站开发建站工具论坛
  • 专业的盐城网站开发wordpress如和安装
  • 网站建设是什么语言齐齐哈尔网站开发
  • 中小型网站建设服务重庆建设工程交易网
  • 网站建设 预算江华网站建设
  • 培训网站设计简单的网页开发
  • 中国建设银行官网站金银纪念币网页设计图片怎么放进去
  • 网站建设网络推广广告语网站建设外包公司容易被客户投诉吗
  • 在网站里继费nas可以做网站吗
  • 卓越 网站wordpress vul
  • dedecms做网站怎么查看wordpress不会发送电子邮件
  • 网站后端开发软件网站开发招聘名称
  • 网站建站方式有哪些企业网站模板是什么