输入任意URL,自动解析各组件,支持编辑参数并重新构建URL
• 粘贴任意URL,系统自动解析所有组件
• 在参数编辑区可以添加、修改、删除query参数
• 点击各组件旁的复制按钮快速复制
• URL构建器支持从零创建完整URL
URL 解析工具是一款将完整的 URL 字符串拆解为各组成部分的在线工具。一个 URL 包含多个结构化部分:协议(scheme)、域名(host)、端口(port)、路径(path)、查询参数(query string)和哈希片段(hash)。理解 URL 的组成结构对 Web 开发者至关重要——它帮助调试 API 请求、分析路由规则、提取查询参数、构造新的 URL。本工具输入一个完整 URL 后,自动解析并高亮显示每个组成部分,同时展开查询参数为键值对列表,支持参数的编辑和重新构造 URL。
从浏览器网络面板或日志中复制一个复杂的 API URL,粘贴到解析工具中查看各个参数。快速确认请求的域名、路径、认证参数、分页参数等是否正确。
OAuth 回调 URL 通常包含多个编码参数(redirect_uri、scope、state 等)。使用解析工具查看嵌套的编码参数,理解回调的完整信息。
分析前端路由中不同 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"
A>? 后面是查询字符串(query string),包含键值对参数,用于传递请求数据(如 ?page=1&size=20)。# 后面是哈希片段(fragment/hash),用于页面内锚点定位,不会发送到服务器。在 SPA 中,# 常用于前端路由(如 #/users/123)。
A>使用 URLSearchParams:const params = new URLSearchParams(window.location.search); for (const [key, value] of params) { console.log(key, value); } 这会遍历所有查询参数。注意同名参数可能有多个值,使用 getAll(key) 获取数组。
A>443 是 HTTPS 的默认端口,80 是 HTTP 的默认端口。使用默认端口时 URL 中通常省略(https://example.com 等同于 https://example.com:443)。URL 对象解析时,默认端口返回空字符串而非数字。
A>查询参数值中的中文和特殊字符是 URL 编码的。URLSearchParams 的 get() 方法会自动解码。例如参数 q=%E4%B8%AD%E6%96%87,params.get('q') 返回"中文"。不需要手动调用 decodeURIComponent。
A>Node.js 10+ 支持全局 URL 对象:const url = new URL('https://api.com/path?q=test')。旧版本使用 require('url').parse(str)(已弃用)。推荐使用 WHATWG URL API(new URL),与浏览器一致。