我正在寻找一种方便实用的方法来将编码值添加到 Ruby 中的 URL 查询字符串。 目前,我有:
require 'open-uri'
u = URI::HTTP.new("http", nil, "mydomain.example", nil, nil, "/tv", nil, "show=" + URI::encode("Rosie & Jim"), nil)
p u.to_s # => "http://mydomain.example/tv?show=Rosie%20&%20Jim"
这不是我要找的,因为我需要得到
“http://mydomain.example/tv?show=Rosie%20%26%20Jim”
,这样 show=
值就不会被截断。
Open::URI 是否有其他方法可以做到这一点?如果没有,是否可以使用任何其他标准 Ruby 或 gem 来完成?
最佳答案
尝试使用 CGI::escape
而不是 URI::encode
。 doc here
关于ruby - 如何将编码的查询值添加到 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9214879/