测试数据
各国示例数据生成器
生成符合 75 个国家格式的示例档案,包含姓名、地址、电话与邮箱,可导出 JSON、CSV 或 SQL。
选择需要的字段
与上方设置对应的 API 地址
https://huynhthang.com/api/fake?locale=vi&count=5所有数据均为虚构,在您的浏览器中随机生成,不对应任何真实人物。本工具有意不生成银行卡号、身份证号或社会保障号。
API
API 使用说明
本页的全部功能同样可以通过 API 调用。无需密钥、无需注册、没有试用期限。已开放 CORS,浏览器中的 JavaScript 可直接调用。
接口地址
GET https://huynhthang.com/api/fake?locale=vi&count=5参数
| locale | vi | 国家代码,必须是下方列出的 75 个之一。默认 en_US。 |
|---|---|---|
| count | 1 – 100 | 返回的记录条数,超过 100 会被截为 100。默认 1。 |
| seed | abc | 任意字符串。相同的种子配合相同的其他参数,始终返回同一批记录——需要固定测试数据时使用。 |
| fields | fullName,email | 以逗号分隔的字段列表,留空则返回全部 15 个字段。 |
| minAge | 18 | 最小年龄,默认 18。 |
| maxAge | 65 | 最大年龄。若小于 minAge,会自动提升为与之相同。 |
调用示例
curl "https://huynhthang.com/api/fake?locale=vi&count=5"
在此直接运行
点击按钮发起一次真实调用,查看原始响应。
国家列表
GET https://huynhthang.com/api/fake/locales 返回全部 75 个代码及其区域代码与英文国家名。结果不会变化,可缓存一天。
错误码
| 400 | bad_locale | 国家代码不在列表中。响应中附有完整列表的地址。 |
|---|---|---|
| 400 | bad_fields | 存在不存在的字段名。响应会列出错误的名称以及全部合法名称。 |
| 429 | rate_limited | 调用过于频繁。响应中带有 Retry-After 头,说明需要等待的秒数。 |
每个 IP 每分钟限 60 点。每次调用消耗 1 点,每 25 条记录再加 1 点——大致相当于 60 次小额调用,或 12 次满 100 条的调用。性别字段返回 male 或 female,不做翻译。响应永不缓存。
什么是各国示例数据生成器?
每个开发者迟早都需要一百个测试用户:给测试数据库灌数据、填满列表页看看长姓名会不会撑破布局、截图写文档时又不想泄露真实客户资料,或者做压力测试。手工敲既慢,而且敲出来的数据往往过于整齐,反而暴露不出想找的布局问题。
本工具真正有用的地方在于数据是真正本地化的,而不是把英文姓名机器翻译一遍。选越南会得到「Nguyễn Văn」,地址带坊、郡和五位邮编;选日本会得到汉字姓名和「丁目番地」式地址;选德国会得到 Straße 和五位 PLZ。共 75 个国家,各有自己的姓名库、地址写法和电话格式。
随机种子这一栏是开发者最常用的。填入任意内容后,每次运行都会得到同一批记录。这样测试夹具在多次运行之间保持稳定,也能还原出导致测试失败的那批确切数据。
还有一个现实理由:在开发环境中使用真实客户数据的情况依然常见,而在如今的数据保护法规下这是实实在在的法律风险。改用生成的示例数据可以彻底消除这个问题。
除了网页界面,本工具还提供公开 API,可直接从您自己的应用中调用。无需密钥、无需注册,并且已开放 CORS,浏览器中的 JavaScript 也能直接调用。更重要的是:API 与网页共用同一段生成代码,因此使用相同的随机种子时,返回的结果与您在屏幕上看到的完全一致。与当前设置对应的地址就显示在结果下方,点击即可复制。
使用方法
- 在列表中选择国家,上方有搜索框。
- 设置需要的记录条数和年龄范围。
- 若希望下次得到相同结果就填写随机种子,留空则为随机。
- 关闭不需要的字段,让结果更清爽。
- 复制或下载为 JSON、CSV 或 SQL INSERT 语句。
常见问题
这些是真实人物的数据吗?
不是。姓名、地址和电话号码是在您的浏览器中,从各国词库里随机组合出来的。与真实人物雷同纯属巧合且非本意。地址格式正确,但并非真实存在的地址。
为什么没有银行卡号和身份证号?
因为这类字段既可通过校验位验证,又对欺诈者具有实际价值;而从事支付开发的工程师本就应当使用支付服务商签发的测试号码,而不是随机生成的号码。去掉它们几乎没有损失,却能杜绝最糟糕的滥用方式。
随机种子有什么用?
用于结果可复现。相同的种子、相同的国家和条数,总会生成同一批数据。这在文档中需要固定示例数据时很有用,也便于还原测试失败时的确切数据。
如何调用 API?
一次 GET 请求即可,例如 /api/fake?locale=vi&count=10&seed=abc。参数包括 locale、count(1 到 100)、seed、fields、minAge 与 maxAge。75 个国家代码的列表见 /api/fake/locales。限额为每个 IP 每分钟 60 点;每次调用消耗 1 点,每 25 条记录再加 1 点。超出后会返回 429 并附上需要等待的秒数。
导出的 SQL 怎么用?
它会生成一系列 INSERT INTO people 语句,每条记录一行,列名与您启用的字段一致。把表名改成与自己的架构匹配后即可直接执行。数据中的单引号已按 SQL 标准做了双写转义。
数据会被发送到服务器吗?
不会。生成器完全在浏览器中运行;服务器只负责把网页和您所选国家的数据包发给您。页面加载完成后断开网络,工具依然正常工作。