URL地址解析

在线URL地址解析工具,一键分解任意URL为20个结构化字段:Protocol协议、Username用户名、Password密码、Hostname主机名、Port端口、FullHost完整主机、UserInfo用户信息、Authority授权、Origin源、Domain域名、Subdomain子域名、TLD顶级域、Pathname路径、Directory目录、Filename文件名、Suffix后缀、Query查询串、Hash哈希、Fragment锚点、Resource资源定位符。支持带认证信息、端口号、多级子域、复杂路径的URL解析。

URL解析输入
解析结果(20个字段)
Protocol 协议
Username 用户名
Password 密码
Hostname 主机名
Port 端口
FullHost 完整主机
UserInfo 用户信息
Authority 授权
Origin
Domain 域名
Subdomain 子域名
TLD 顶级域
Pathname 路径
Directory 目录
Filename 文件名
Suffix 后缀
Query 查询串
Hash 哈希
Fragment 锚点
Resource 资源定位符

功能特性

一键解析

粘贴任意URL地址,点击解析即可自动拆分20个结构化字段,直观展示URL各组成部分。

20个字段

全面覆盖Protocol、Host、Port、Domain、Subdomain、TLD、Path、Query、Hash等RFC 3986规范字段。

认证信息解析

支持解析URL中嵌入的用户名和密码(user:pass@host),方便调试带Basic Auth的接口地址。

子域名智能拆分

自动识别多级子域名(如 a.b.c.example.com),拆分出Domain主域名与Subdomain子域部分。

字段独立复制

每个解析结果字段均支持一键复制到剪贴板,方便提取Protocol、Host、Query等部分用于代码中。

安全可靠

使用.NET原生Uri类按RFC标准严格解析,不会修改或存储用户输入的URL地址,保障隐私安全。

使用说明

基本操作

  • 在输入框中粘贴或输入完整的URL地址(必须包含协议头,如 https://http://)。
  • 点击「解析URL」按钮,工具将调用后端API使用.NET Uri类按RFC 3986标准进行解析。
  • 解析完成后,20个字段将以卡片网格形式展示,每个字段右上角支持一键复制。
  • 点击「示例URL」可快速载入带认证信息、端口、子域、多级路径、查询串和锚点的完整示例。

URL结构说明

标准URL格式:protocol://[user:password@]hostname[:port][/path][?query][#fragment]

  • 协议层Protocol(如 https:)+ Origin(https://host:port)+ Authority(user@host:port)。
  • 认证层UserInfo(user:pass)拆分为 UsernamePassword 两个独立字段。
  • 主机层Hostname 进一步拆分为 Subdomain + Domain + TLD,同时保留 PortFullHost
  • 路径层Pathname 拆解为 Directory(目录)、Filename(文件名不含扩展名)和 Suffix(扩展名)。
  • 查询层Query(含?)+ Hash(含#)+ Fragment(不含#)+ Resource(完整路径+查询+锚点)。

典型使用场景

  • Web开发调试:快速拆分API接口地址,确认Host、Port、Path是否与路由配置一致。
  • 爬虫开发:批量解析待抓取URL列表,提取Domain用于域名白名单、Suffix判断静态资源类型。
  • 安全分析:分析钓鱼URL的子域名伪装、查询参数注入点、锚点XSS风险。
  • 运维排错:拆解反向代理Nginx/Apache转发后的URL,检查Host头部与端口号是否正确。
  • 教学演示:直观展示URL各组成部分,帮助理解RFC 3986统一资源标识符规范。

常见问题

为什么URL必须以http://或https://开头?
本工具使用.NET标准库的Uri类进行解析,该类严格遵循RFC 3986规范。缺少协议头(Scheme)的字符串不是合法的绝对URI,Uri构造函数会抛出UriFormatException。如需解析省略协议的地址,请手动补全https://前缀后再解析。
多级子域名(如a.b.c.example.com)如何拆分?
工具采用「后两段为主域名」的通用策略:Domain = 倒数第2段 + 最后1段Subdomain = 前面所有段TLD = 最后1段。例如 a.b.c.example.com → Domain=example.com,Subdomain=a.b.c,TLD=com。对于.co.uk、.com.cn等国家二级域名,此策略会略有偏差,实际开发建议结合公共后缀列表(Public Suffix List)。
URL中的中文或特殊字符如何处理?
.NET的Uri类会自动对Host进行Punycode编码(IDNA处理),对Path和Query进行UTF-8百分号编码。本工具直接返回Uri对象的原始属性,因此中文路径会显示为%E4%B8%AD%E6%96%87形式。如需要查看解码后的中文,可使用URL解码工具进一步处理。
Hash(Fragment)部分会发送到服务器吗?
不会。根据HTTP规范,浏览器在发起请求时不会将URL的#fragment部分发送到服务器,它仅用于浏览器本地定位页面锚点或被前端JavaScript读取(通过window.location.hash)。因此后端日志、Nginx access log中都看不到Fragment内容,这也是为什么API接口通常使用Query参数而非Hash传参。
URL中的用户名密码是否安全?本工具会记录吗?
本工具不会持久化存储任何用户输入的URL数据。解析请求在后端.NET服务器内存中即时处理,响应后立即释放,不写入日志或数据库。尽管如此,仍建议不要在公共网络环境下粘贴包含真实生产账号密码的URL,可先替换为示例值再解析。