首页 开发者工具 URL 解析器 & 构建器

URL 解析器 & 构建器

输入任意URL,自动解析各组件,支持编辑参数并重新构建URL

完整URL
Protocol
Host
Port
Path
Query
Hash

Query 参数编辑

Query 参数

💡 使用提示

• 粘贴任意URL,系统自动解析所有组件
• 在参数编辑区可以添加、修改、删除query参数
• 点击各组件旁的复制按钮快速复制
• URL构建器支持从零创建完整URL

🏷️ 相关标签

开发者工具纯前端URL解析隐私安全在线工具免费

什么是 URL 解析工具?

URL 解析工具是一款将完整的 URL 字符串拆解为各组成部分的在线工具。一个 URL 包含多个结构化部分:协议(scheme)、域名(host)、端口(port)、路径(path)、查询参数(query string)和哈希片段(hash)。理解 URL 的组成结构对 Web 开发者至关重要——它帮助调试 API 请求、分析路由规则、提取查询参数、构造新的 URL。本工具输入一个完整 URL 后,自动解析并高亮显示每个组成部分,同时展开查询参数为键值对列表,支持参数的编辑和重新构造 URL。

如何使用 URL 解析工具

  1. 步骤一:输入 URL — 在输入框中粘贴完整的 URL 字符串(如 https://devtoolhub.cc:443/tools?url=parser&mode=advanced#section2)。
  2. 步骤二:查看解析结果 — 工具自动将 URL 分解为协议、域名、端口、路径、查询参数、哈希等部分,每个部分独立显示并标注说明。
  3. 步骤三:操作查询参数 — 查询参数以表格形式展示,可以修改参数值、添加/删除参数,修改后自动重新构造 URL。

常见使用场景

场景一:调试 API 请求 URL

从浏览器网络面板或日志中复制一个复杂的 API URL,粘贴到解析工具中查看各个参数。快速确认请求的域名、路径、认证参数、分页参数等是否正确。

场景二:分析和构造回调 URL

OAuth 回调 URL 通常包含多个编码参数(redirect_uri、scope、state 等)。使用解析工具查看嵌套的编码参数,理解回调的完整信息。

场景三:Web 路由规则调试

分析前端路由中不同 URL 的结构,理解路径参数、查询参数和哈希片段的作用。帮助排查路由匹配失败或参数丢失的问题。

技术原理

URL 的语法规则由 RFC 3986 定义:scheme://user:pass@host:port/path?query#hash。JavaScript 内置的 URL 对象可以解析 URL:new URL(str) 自动拆解各部分。URLSearchParams 对象处理查询参数,支持 get()set()append()delete() 等操作。

// URL 解析
const url = new URL('https://devtoolhub.cc:443/tools?url=parser#section');
console.log(url.protocol);   // "https:"
console.log(url.hostname);   // "devtoolhub.cc"
console.log(url.port);       // "443"
console.log(url.pathname);   // "/tools"
console.log(url.search);     // "?url=parser"
console.log(url.hash);       // "#section"

// 查询参数操作
const params = new URLSearchParams(url.search);
params.get('url');           // "parser"
params.set('page', '2');     // 添加/修改参数
params.toString();           // "url=parser&page=2"

最佳实践与注意事项

常见问题

Q:URL 中的 ? 和 # 分别代表什么?

A>? 后面是查询字符串(query string),包含键值对参数,用于传递请求数据(如 ?page=1&size=20)。# 后面是哈希片段(fragment/hash),用于页面内锚点定位,不会发送到服务器。在 SPA 中,# 常用于前端路由(如 #/users/123)。

Q:如何获取 URL 中所有查询参数的键值对?

A>使用 URLSearchParams:const params = new URLSearchParams(window.location.search); for (const [key, value] of params) { console.log(key, value); } 这会遍历所有查询参数。注意同名参数可能有多个值,使用 getAll(key) 获取数组。

Q:URL 中端口为 443 和 80 有什么特殊含义?

A>443 是 HTTPS 的默认端口,80 是 HTTP 的默认端口。使用默认端口时 URL 中通常省略(https://example.com 等同于 https://example.com:443)。URL 对象解析时,默认端口返回空字符串而非数字。

Q:如何处理 URL 中的编码参数?

A>查询参数值中的中文和特殊字符是 URL 编码的。URLSearchParams 的 get() 方法会自动解码。例如参数 q=%E4%B8%AD%E6%96%87,params.get('q') 返回"中文"。不需要手动调用 decodeURIComponent。

Q:如何在 Node.js 中解析 URL?

A>Node.js 10+ 支持全局 URL 对象:const url = new URL('https://api.com/path?q=test')。旧版本使用 require('url').parse(str)(已弃用)。推荐使用 WHATWG URL API(new URL),与浏览器一致。

🔥 同类热门工具

💳
信用卡号验证器
信用卡号验证器 - Luhn算法验证,识别Visa/Mast...
🛠️
Cron表达式生成器
在线Cron表达式生成器,可视化构建5段和6位Cron表达式...
🛠️
CSS边框生成器
在线CSS边框生成器,可视化设计边框样式、宽度、颜色、圆角,...
🔘
CSS 圆角生成器
CSS 圆角生成器 - 可视化拖拽四角圆角,支持预设形状,一...
🎨
CSS 压缩器
免费在线CSS压缩器,一键压缩CSS代码,移除空白、注释和优...
🛠️
CSS阴影生成器
CSS Shadow Generator - Create ...
🎯
CSS 校验器
免费的在线CSS校验器,支持语法检查、属性值验证、常见错误提...
🌐
CURL命令生成器
在线CURL命令生成器,可视化设置请求方法、Headers、...
📅
日期计算器
日期计算器,计算两个日期间的天数差、周数差、月数差,以及推算...
📅
日期差计算器
日期差计算器,计算两个日期之间的天数、周数、月数,支持工作日...