域名批量转换实战:把一堆域名整理成链接清单与白名单
把成百上千的域名批量转换:统一加协议变成可点链接,提取根域,转 Punycode,小写归一,顺手去重排序。全程在浏览器本地完成,不上传任何源文本,适合整理域名清单。
域名批量转换实战:把一堆域名整理成链接清单与白名单
做运营和开发的人,手里多多少少都攒着一堆域名:从 DNS 区域文件复制下来的主机名,从 CDN 面板导出的 CSV,客服工单里被人随手粘进去的网址,还有营销追踪表里堆着的几百个跳转域。它们格式各异,大小写混乱,有的带 www 有的不带,有的是 IDN 中文域名,真要拿去用的时候,光手工整理就能耗掉一上午。
域名批量转换要解决的,就是把这一摊乱麻一次性捋顺:统一加协议变成可点的 URL,提取根域,转 Punycode,小写归一,顺带去重和排序,最后导出成你下一步真正能用的格式。
给域名批量加协议,变成可点的链接
最常见的一个动作:你有一列纯域名,需要它们变成完整的 URL,这样才能丢进监控脚本、丢进浏览器批量打开,或者贴进文档当超链接。手工做就是给每一行前面加 https://,几百行加下来手指都酸。
批量转换把这件事拆成一步:在每个域名前面统一补上 https://,空行和注释行自动跳过,带了协议的行不会被重复加。一列 example.com 进去,出来就是一列 https://example.com,可以直接当链接清单用。
提取根域,把子域名归并到一起
另一类需求正好相反:你拿到的是一堆带子域名的主机名,api.example.com、cdn.example.com、mail.example.com,但你只关心它们背后是哪几个根域。把这些主机名喂进去,提取出 example.com 这一层并去重,几十行子域名可能就归并成三五个根域。做白名单、做计费归属、做资产盘点的时候,这一步几乎是必经环节。
转 Punycode 与小写归一
中文域名、带重音字母的国际化域名(IDN),在不同系统里有的存原文有的存 Punycode 编码形式。要让两边能对得上,就得把 中文.公司 这类域名统一转成 xn-- 开头的 ASCII 形式,反过来也一样。
小写归一同样重要。域名本身不区分大小写,但 Example.COM 和 example.com 在很多去重逻辑里会被当成两条。把整列统一压成小写之后再去重,才不会留下一堆看着不一样、其实指向同一个站点的重复行。
一个真实的输入输出例子
举个我自己常碰到的场景。运营同学甩给我一份导出,里面长这样:
Example.com
api.example.com
EXAMPLE.com
foo.bar.cn
cdn.example.com
我要的是一份干净的根域链接白名单。处理完之后,小写归一加提取根域加去重,得到:
https://example.com
https://bar.cn
五行混乱的主机名,落到两条根域链接。再切到 CSV 或 JSON 格式导出,就能直接交给脚本或工单系统,不用我手工加引号、补逗号、对齐大小写。
整理清单、生成链接、做白名单
第一次用这套流程整理一份四百多行的跳转域名表时,我特意盯着看了无效行的处理。像 site..com 这种连点、标签里带下划线、或者粘了垃圾字符的残留 www.,工具没有偷偷扔掉,而是带着原因留在输出里。这一点对我很关键:我宁可看到"这十几行有问题",也不想它们被静默丢弃,导致最后的白名单缺了几个本该在的域。带行号和校验原因的 CSV 下载出来,回头要排查时还能跳回原文对照。
整个过程里,域名清单始终留在你这一个浏览器标签页里。解析、提取根域、转 Punycode、去重、导出,全部本地完成,源文本不会发到任何服务器。处理客户数据、内部跳转域、带 token 的回调地址这类敏感清单时,这一条尤其要紧。
配套工具
如果你的需求更专一,可以直接用拆分开的小工具:只想从一大段乱文本里把域名抠出来,用 域名提取器;想把整列域名格式规范化、统一大小写和编码,用 域名规范化工具。需要一次走完提取、校验、去重、转格式的完整链路时,回到 域名列表转换器,在逐行、CSV、JSON、Markdown、SQL IN、TypeScript union 之间随手切换,下载出来就是能交接的产物。
域名整理这件事看着琐碎,但越是高频越值得把它标准化。把批量加协议、提取根域、转 Punycode、小写归一、去重排序串成一条固定流程,以后每次拿到新清单,几秒钟就能交付一份干净、可点、可复核的结果。
Made by Toolora · Updated 2026-06-13