埃及国家身份证验证器和数据提取器AP

national-id的Python项目详细描述


埃及国家身份验证和数据提取器API

{1}$ Actions Statuscodecov.io

要求

  • python3.6或更高版本
  • pip3
  • 瓶子

怎么跑

  • 安装要求pip3 install -r requirements.txt
  • 运行python3 server.py
  • 服务器将在端口8001上运行
  • 可以在http://localhost:8001/get_info处到达终结点

终结点

  • /get_info
    • 接受带有“Content-Type:application/json”头的post请求

      • 请求示例:

        curl -H "Content-Type: application/json" -d '{"id_number": "29009121201812"}' -XPOST http://localhost:8001/get_info
        
    • 回应

      • 200行,json_info:国家标识已验证,信息提取正常
      • 400错误请求:错误的国家身份证号码
      • 500内部服务器错误:来自用户的无效请求(无效的json,无效的数据格式)

      回答示例:

      ^{pr2}$ 在

验证和检查

国民身份证由以下内容组成:

+-+--+--+--+--+----+-+
|2|90|01|01|12|3456|7|
+--------------------+
|A|B |C |D |E | F  |G|
+-+--+--+--+--+----+-+
  • A->;世纪:A=2来自(1900-1999),A=3来自(2000-2099)
  • 出生日期: 出生年份 出生月份 出生日期
  • E->;省代码ex:{12:“Al-Daqhlia”}
  • F->;唯一代码。(奇数为男性,偶数为女性)
  • G->;验证用校验位

如何运行测试

  • Lib测试:pytest -s tests/test_national_id.py
  • 测试端点python3 -m pytest -s tests/test_endpoint.py

Dockerfile文件

  • 您可以在docker directory中构建并运行dockerfile docker build -t waleedhammam/national_id .

Pip可安装

  • Library national id是pip可安装的pip install national-id,用于整个系统

  • 用法示例:

    fromlib.national_idimportNationalIDinstance=NationalID("28510291201512")instance.get_info()Out:(True,{'year_of_birth':'1985','month_of_birth':'10','day_of_birth':'29','governorate':'Al Daqhlia','type':'Male'})

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
我可以用C++代码使用java代码吗?   java使用JSR303在派生类中提供更具体的约束   java在这个查找唯一路径数算法中我做错了什么?   java如何为2个不同的服务提供商使用2个不同的SSL证书?   java在Gridview上绘制文本   java使用连接for循环构建字符串名   java StringBuilder拆分无法处理某些文件   java事件关注EditText   Java Web Start“找不到URL的缓存资源”   java程序从命令行运行的速度比在Eclipse中慢   java为什么HttpServletRequest会截断#字符上的url输入?   java自定义折叠工具栏平滑标题大小调整   使用Mockito对安卓 java中调用另一个静态函数的函数进行单元测试   http在java客户机中使用cachecontrol头   java如何使用。是否使用Delimiter从输入文件中排除标点符号和数字?   使用上下文作为参数/参数的java   java更有效地从Jar中提取文件   java为多个JButton提供相同的actionListener