ruby - 给url添加参数

标签 ruby url parameters

我有一个 url(例如 http://www.youtube.com/watch?v=og9B3BEnBHo),我想向它添加一个参数(wmode=opaque),以便它:

http://www.youtube.com/watch?v=og9B3BEnBHo&wmode=opaque

谁能告诉我使用哪个函数来完成这项工作?

最佳答案

require 'uri'

uri =  URI.parse("http://www.youtube.com/watch?v=og9B3BEnBHo")
uri.query = [uri.query, "wmode=opaque"].compact.join('&') 
puts uri.to_s

#edit Since 1.9.2 there are methods added to the URI module

uri =  URI.parse("http://www.youtube.com/watch?v=og9B3BEnBHo")
new_query_ar = URI.decode_www_form(String(uri.query)) << ["wmode", "opaque"]
uri.query = URI.encode_www_form(new_query_ar)
puts uri.to_s

(对 String 的调用确保这在原始 URI 没有查询字符串的情况下也有效)

关于ruby - 给url添加参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7785793/

相关文章:

ruby-on-rails - 具有设计嵌套属性的未知属性 'user_id'

javascript - 如何获取 &lt;script src ="url.json"> 中的 json 内容

Java - 无法从 URL 获取 html 代码

php - 从 URL 获取 PDF 的原始创建日期

javascript - 在Angular Controller 的回调中,为什么参数必须命名为 "$scope"?

C++ 什么时候按值传递 const struct 参数与按引用传递有意义?

android - 将具有空值的字符串作为参数传递时, Volley 字符串请求错误

ruby - gsub 或 scan 中的匹配位置

ruby - Chef powershell 命令不起作用

ruby - 处理 WEBrick 中的 PUT 方法