我应该用什么来正确替换已弃用的 URI.escape

问题描述

我需要帮助了解替换已弃用的 URI.escape

正确方法是什么
> URI.escape('space ^%$')
(pry):12: warning: URI.escape is obsolete
=> "space%20%5E%25$

当前的实现是这样的:

def escape(*arg)
  warn "URI.escape is obsolete",uplevel: 1
  DEFAULT_PARSER.escape(*arg)
end

所以,只使用 DEFAULT_PARSER 似乎有效:

> URI::DEFAULT_PARSER.escape('space ^%$')
=> "space%20%5E%25$"

但也明确说明解析器似乎也能工作:

> URI::RFC2396_Parser.new.escape('space ^%$')
=> "space%20%5E%25$"

我正在寻找的是 Ruby 更改的上下文,因此可以做出明智的决定。

  • 为什么不推荐使用
  • 为什么将其移至 RFC2396_Parser?我们应该期待新的 URI 解析器吗?
  • 是否有计划转换 URI::DEFAULT_PARSER?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...