實踐01:實現一個線上身份證號生成器(僅做測試資料用途)
阿新 • • 發佈:2020-12-12
[toc]
# 前言
很久沒更新部落格了,django也是斷更了,minium小程式自動化也鴿了,哈哈,今天給大家帶來個生成假身份證號碼的工具(基於faker庫)
# 線上身份證號碼生成器
> 在測試過程中,很多地方需要使用到身份證號碼,不知道各位測試人都是怎麼處理的,我之前都是使用的;http://sfz.uzuzuz.com/ 生成的資料來進行測試,當然這些資料到底都是假的,**切勿做它用哦**
# 重複造輪子?
> 並不是?其實完全是處於學習實踐的想法,所以也弄了個並且部署到了伺服器,不過這個過程覺得這個部署並不完美等以後學到了再更新吧
- 體驗地址:http://49.232.203.244/
- 看看效果: 首頁
![](http://ww1.sinaimg.cn/large/0082PEVYly1glkat39vhnj31hc0q9tam.jpg)
- 有資料時
![微信截圖_20201211230250.png](http://ww1.sinaimg.cn/large/0082PEVYly1glkbc4vlfej314t0q9q47.jpg)
# 自己整合的身份證號碼生成器(僅用作測試資料,勿做他用,後果自負哦)
> 實現:使用FastAPI來實現介面路由引數定義,faker來返回虛假的身份證號碼資訊,vue.js來與html進行資料繫結,文中axios請求介面部分程式碼是網上覆制的,前端太難了~~
前端程式碼`index.html`
```html
測試身份證號碼生成器
```
後端服務`api.py`
```python
#!/usr/bin/env/python3
# -*- coding:utf-8 -*-
"""
@project: apiAutoTest
@author: zy7y
@file: api.py
@ide: PyCharm
@time: 2020/12/11
@desc:
"""
from datetime import datetime
from faker import Faker
from fastapi import FastAPI
from starlette.middleware.cors import CORSMiddleware
app = FastAPI()
fake = Faker(locale='zh_CN')
origins = [
"*",
]
app.add_middleware(
CORSMiddleware,
allow_origins=origins,
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
@app.get("/info/", name="生成簡要身份資訊")
async def get_person_info(number: int = 1):
data_list = []
for i in range(number):
result = fake.profile(fields=["ssn", "name"])
# 解析身份證號的性別
value = '男' if int(result['ssn'][-2]) % 2 == 1 else '女'
result["sex"] = value
# 解析身份證的生日
result["age"] = int(str(datetime.now())[0:4]) - int(result['ssn'][6:10])
data_list.append(result)
return {"total": number, "message": "操作成功!", "code": 200, "data": data_list}
if __name__ == '__main__':
# 啟動專案後 訪問 http://127.0.0.1:5555/docs 可檢視介面文件
import uvicorn
uvicorn.run('api:app', host='0.0.0.0', reload=True, port=5555)
```
# 免責宣告
**生成的資料,非真實資料,僅用作測試資料,切勿作他用,後果
本網址由 FastAPI + faker + Vue.js 驅動
聯絡作者: https://www.cnblogs.com/zy7y
{{message}}切記不可用於非法活動,否則後果自負!
姓 名 | 年 齡 | 性 別 | 身份證 |
{{i.name}} | {{i.age}} | {{i.sex}} | {{i.ssn}} |