C# | 【完全开源】手机号码归属地查询,一秒内百万次查询

简介: 这个开源项目是一个.NET库,可以通过手机号码获取号码归属地信息,包括运营商、国家、省份、城市、邮政编码、区号等信息。该库加载了一个包含46万条数据的“中国手机号归属地信息”数据集,并实现了高速查询。在我的7年老笔记本上执行一百万次查询耗时不足一秒。

image.png

C# | 【完全开源】手机号码归属地查询,一秒内百万次查询

@[toc]

简介

这个开源项目是一个.NET库,可以通过手机号码获取号码归属地信息,包括运营商、国家、省份、城市、邮政编码、区号等信息。
该库加载了一个包含46万条数据的“中国手机号归属地信息”数据集,并实现了高速查询。在我的7年老笔记本上执行一百万次查询耗时不足一秒。

快速上手

以查询中国大陆的手机号码归属地信息为例:

在NuGet页面中勾选预发行版本并搜索 ApeFree.Phone2Location.CN ,点击安装。

查询手机号码归属地的源码如下:

  // 创建数据库
  var db = PhoneDatabase.Factory.CreateChinaPhoneDatabase();

  // 通过手机号码获取归属地信息
  var result = db.GetLocationByPhone("13500008888");

  if (result == null)
  {
   
   
    Console.WriteLine("未查询到结果");
  }
  else
  {
   
   
    // 打印显示
    Console.WriteLine($"国家:{result.Country}\r\n省份:{result.Province}\r\n城市:{result.City}\r\n运营商:{result.TelecomOperator}\r\n区号:{result.AreaCode}\r\n邮编:{result.PostalCode}");
  }
AI 代码解读

运行上述代码将输出如下结果:

国家:中国
省份:广东
城市:广州
运营商:移动
区号:020
邮编:510000
AI 代码解读

原理

在实例化的时候就加载“中国手机号归属地信息”数据集,并计算出索引的数量和偏移地址。
在查询时,使用二分法查询号码信息所处的偏移地址,再从偏移地址使用流读取详细信息,并构造查询结果。
之所以能够一秒内百万次查询,是因为其使用了二分法进行查询,并且使用了流进行数据读取和处理。

结束语

代码开源在:https://github.com/landriesnidis/ApeFree.Phone2Location,希望能够帮助到需要查询手机号码归属地信息的人。如果您对该项目有任何建议或意见,欢迎在GitHub上提issue或pull request。如果您觉得该项目对您有帮助,也欢迎在GitHub上为该项目点个赞。

相关文章
控制电脑手机的智能体人人都能造,微软开源OmniParser
微软研究团队推出OmniParser,旨在提升GPT-4V等多模态模型在用户界面操作方面的性能。通过解析用户界面截图为结构化元素,OmniParser显著增强了模型的交互能力,使其在多种基准测试中表现出色。该技术开源,促进了社区合作与技术创新,但同时也面临数据质量、计算资源及安全隐私等挑战。
206 14
MNN-LLM App:在手机上离线运行大模型,阿里巴巴开源基于 MNN-LLM 框架开发的手机 AI 助手应用
MNN-LLM App 是阿里巴巴基于 MNN-LLM 框架开发的 Android 应用,支持多模态交互、多种主流模型选择、离线运行及性能优化。
1406 14
MNN-LLM App:在手机上离线运行大模型,阿里巴巴开源基于 MNN-LLM 框架开发的手机 AI 助手应用
ClKLog支持手机端查询统计数据啦!
ClKLog的付费版中提供了兼容移动端的h5展示界面,简单来说,手机浏览器直接访fangwe问统计地址就能直接查询主要的统计数据。
|
4月前
|
以C#一分钟浅谈:GraphQL 数据类型与查询
本文从C#开发者的角度介绍了GraphQL的基本概念、核心组件及其实现方法。GraphQL由Facebook开发,允许客户端精确请求所需数据,提高应用性能。文章详细讲解了如何在C#中使用`GraphQL.NET`库创建Schema、配置ASP.NET Core,并讨论了GraphQL的数据类型及常见问题与解决方案。通过本文,C#开发者可以更好地理解并应用GraphQL,构建高效、灵活的API。
145 64
开源GTKSystem.Windows.Forms框架让C# Winform支持跨平台运行
开源GTKSystem.Windows.Forms框架让C# Winform支持跨平台运行
70 12
C# 一分钟浅谈:GraphQL 数据类型与查询
本文介绍了GraphQL的基本概念、数据类型及查询方法,重点从C#角度探讨了GraphQL的应用。通过Hot Chocolate库的实例,展示了如何在ASP.NET Core中实现GraphQL API,包括安装、定义Schema、配置及运行项目。文中还讨论了常见问题与解决方案,旨在帮助开发者更好地理解和使用GraphQL。
62 2
|
4月前
|
API
查询城市手机号段免费API接口教程
此API用于查询指定城市的手机号段、服务商、区号、邮编等信息。支持POST或GET请求,需提供用户ID、KEY及城市名称等参数。返回数据包括状态码、信息提示、查询数量、最大页码、当前页码、省份、城市、区号、邮编、区划代码及数据集等。示例中提供的ID和KEY为公共测试用,建议使用个人ID和KEY以获得更高的调用频率。
|
4月前
|
API
手机号段查询城市免费API接口教程
此接口用于根据手机号段查询相关信息,包括城市、运营商、区号等。支持POST和GET请求,需提供用户ID、KEY及手机号段前7位作为参数。返回数据包含状态码、信息提示及详细归属信息。示例请求地址:https://cn.apihz.cn/api/ip/haoduan.php?id=88888888&key=88888888&numbers=1321993。接口免费,建议使用个人ID与KEY以独享调用频次。
基于C#开源、功能强大、灵活的跨平台开发框架 - Uno Platform
基于C#开源、功能强大、灵活的跨平台开发框架 - Uno Platform
126 3
精选2款C#/.NET开源且功能强大的网络通信框架
精选2款C#/.NET开源且功能强大的网络通信框架
130 0

热门文章

最新文章

  • 1
    算法系统协同优化,vivo与港中文推出BlueLM-V-3B,手机秒变多模态AI专家
    29
  • 2
    【02】整体试验思路,在这之前我们发现sec_uid,sec_uid是什么和uid的关系又是什么?相互如何转换?python开发之理论研究试验,如何通过抖音视频下方的用户的UID获得抖音用户的手机号-本系列文章仅供学习研究-禁止用于任何商业用途-仅供学习交流-优雅草卓伊凡
    45
  • 3
    【03】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-测试hello word效果-虚拟华为手机真机环境调试-为DevEco Studio编译器安装中文插件-测试写一个滑动块效果-介绍诸如ohos.ui等依赖库-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
    32
  • 4
    【01】整体试验思路,如何在有UID的情况下获得用户手机号信息,python开发之理论研究试验,如何通过抖音视频下方的用户的UID获得抖音用户的手机号-本系列文章仅供学习研究-禁止用于任何商业用途-仅供学习交流-优雅草卓伊凡
    131
  • 5
    美团面试:手机扫描PC二维码登录,底层原理和完整流程是什么?
    92
  • 6
    MNN-LLM App:在手机上离线运行大模型,阿里巴巴开源基于 MNN-LLM 框架开发的手机 AI 助手应用
    1406
  • 7
    【06】flutter完成注册页面-密码登录-手机短信验证-找回密码相关页面-并且实现静态跳转打包demo做演示-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
    36
  • 8
    ClKLog支持手机端查询统计数据啦!
    44
  • 9
    OmAgent:轻松构建在终端设备上运行的 AI 应用,赋能手机、穿戴设备、摄像头等多种设备
    259
  • 10
    Mobile-Agent:通过视觉感知实现自动化手机操作,支持多应用跨平台
    420