URL验证器

粘贴一个URL,这个工具会检查它是否书写正确,并准确显示它是如何拆分的。它使用PHP内置的验证功能(filter_var配合FILTER_VALIDATE_URL)来检查语法,并报告协议、主机、端口、路径、查询和片段,以及该URL是否为绝对地址、是否使用HTTPS。这只是一次格式检查:它绝不会打开链接或连接服务器,因此无法告诉你页面是否在线。

检查是如何进行的

  1. 1

    粘贴一个URL

    输入或粘贴单个URL。它会在你输入时实时检查,无需点击任何按钮。

  2. 2

    查看结论

    绿色面板表示语法有效;红色面板表示无效。缺少协议或URL中含有空格都会导致检查失败。

  3. 3

    查看各部分

    表格会列出找到的协议、主机、端口、路径、查询和片段。

  4. 4

    查看两个标志

    额外的行会显示该URL是否为绝对地址(同时具有协议和主机),以及是否使用HTTPS。

这项检查做什么、不做什么

这个验证器只检查格式,采用的规则与PHP后端相同:filter_var($url, FILTER_VALIDATE_URL)。它非常适合在保存之前发现拼写错误和格式错误的链接,但它绝不会访问网络。

会做 不会做
确认URL的语法是否有效 打开URL或加载页面
要求提供http或https之类的协议 检查DNS或主机是否存在
拒绝空格和许多非法字符 报告200或404之类的HTTP状态
拆分出协议、主机、端口、路径、查询和片段 跟随重定向
标出URL是否为绝对地址、是否使用HTTPS 检查SSL/TLS证书

什么会通过,什么会被拒绝

URL 结果 原因
https://example.com/path?q=1 有效 完整的绝对URL
example.com/path 无效 没有协议
https://example.com/my file 无效 空格未编码
ftp://files.example.com 有效 任何协议都算数;HTTPS标志会显示No
https://does-not-exist.invalid 有效 语法没问题;从不连接该主机

国际化域名

这项检查采用ASCII规则,因此含有非ASCII字符的主机(例如https://münchen.de)会被判定为无效,尽管浏览器在把主机转换为Punycode(xn--mnchen-3ya.de)后会接受它。如果你需要它通过检查,请先转换主机。当你需要知道某个链接是否真的可用时,请改用专门的可用性检查或死链检查工具。

常见问题

不。它只表示URL书写正确。工具绝不会打开链接,因此一个有效的URL仍可能指向404或已下线的服务器。请使用网站或可用性检查工具来判断页面是否真的有响应。

因为它没有协议。验证要求提供http://或https://之类的协议;加上一个它就会通过。

不会,完全没有任何网络请求。HTTPS那一行只表示协议是否为https,并不表示证书是否可信或网站是否有响应。

URL会发送到我们的服务器进行检查,因为该工具在服务器端运行。我们不会保存URL本身;只会记录一条匿名的使用计数,表明验证器被使用过。

相关工具

此工具还提供其他语言版本