1

我想使用 验证 RailsURI.Parse中的 URL,只要URI.parse不引发URL 就有效URI::InvalidURIError。这是一个好主意吗?哪些 URL 将通过此验证测试?

4

1 回答 1

3

是的,如果您打算在您的应用程序中使用这些 URL,这是一个好主意。

URI 将证明字符串可解析为以下部分:方案、用户信息、主机、端口、注册表、路径、不透明、查询、片段。

URI 处理这些方案:

  • FTP、HTTP、HTTPS、LDAP、LDAPS 或 MailTo
  • 或 URI::Generic

http://www.ruby-doc.org/stdlib-1.9.3/libdoc/uri/rdoc/URI/Parser.html#method-i-parse

如果您有其他方案,您可以在解析后自行处理。

URI.parse 通过调用 URI.split 来工作,它使用两个正则表达式:

  • URI::ABS_URI 用于绝对 URI
  • URI::REL_URI 用于相对 URI

您可以查看这些以了解它们如何匹配。如果你愿意,你也可以改变它们。

于 2012-11-23T18:30:48.487 回答