如何获得Ruby的RestClient使用多值查询参数?

按键

使用RestClient gem,我需要创建一个如下请求:

GET http://host/path?p=1&p=2

完成此操作的正确语法是什么?请注意,接收主机不是Rails。

尝试过:

resource = RestClient::Resource.new( 'http://host/path' )
params = { p: '1', p: '2' }  
# ^ Overrides param to have value of 2 (?p=2)

params = { p: ['1','2'] }
# ^ results in 'p[]=abc&p[]=cde' (array [] indicators not wanted)

resource.get( { params: params } )
锡人

可以将参数作为字符串传递:

resource.get(params: 'p=1&p=2')

例如,使用restclient外壳:

>> RestClient.log = Logger.new(STDOUT)
#<Logger:0x007fa444cbecc0 @progname=nil, @level=0, @default_formatter=#<Logger::Formatter:0x007fa444cbec70 @datetime_format=nil>, @formatter=nil, @logdev=#<Logger::LogDevice:0x007fa444cbebd0 @shift_size=nil, @shift_age=nil, @filename=nil, @dev=#<IO:<STDOUT>>, @mutex=#<Logger::LogDevice::LogDeviceMutex:0x007fa444cbeba8 @mon_owner=nil, @mon_count=0, @mon_mutex=#<Mutex:0x007fa444cbeb58>>>>
>> resource = RestClient::Resource.new( 'http://www.example.net' )
#<RestClient::Resource:0x007fa444c9fdc0 @url="http://www.example.net", @block=nil, @options={}>
>> resource.get(params: 'p=1&p=2')
RestClient.get "http://www.example.net", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate", "Params"=>"p=1&p=2"
# => 200 OK | text/html 1270 bytes
"<!doctype html>\n<html>\n<head>\n    <title>Example Domain</title>\n\n    <meta charset=\"utf-8\" />\n    <meta http-equiv=\"Content-type\" content=\"text/html; charset=utf-8\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n    <style type=\"text/css\">\n    body {\n        background-color: #f0f0f2;\n        margin: 0;\n        padding: 0;\n        font-family: \"Open Sans\", \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n        \n    }\n    div {\n        width: 600px;\n        margin: 5em auto;\n        padding: 50px;\n        background-color: #fff;\n        border-radius: 1em;\n    }\n    a:link, a:visited {\n        color: #38488f;\n        text-decoration: none;\n    }\n    @media (max-width: 700px) {\n        body {\n            background-color: #fff;\n        }\n        div {\n            width: auto;\n            margin: 0 auto;\n            border-radius: 0;\n            padding: 1em;\n        }\n    }\n    </style>    \n</head>\n\n<body>\n<div>\n    <h1>Example Domain</h1>\n    <p>This domain is established to be used for illustrative examples in documents. You may use this\n    domain in examples without prior coordination or asking for permission.</p>\n    <p><a href=\"http://www.iana.org/domains/example\">More information...</a></p>\n</div>\n</body>\n</html>\n"

如果您不想编写代码来构建字符串,应该避免使用它,因为它不一定很简单,让Ruby的URI类将其拼凑起来:

require 'uri'
URI::encode_www_form([['p', 1], ['p', 2]])
# => "p=1&p=2"

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使具有多值参数的查询运行得更快?

来自分类Dev

使用ruby elasticsearch gem,如何查询多个参数

来自分类Dev

NoMethodError尝试使用Ruby RestClient

来自分类Dev

基于多值参数更改查询

来自分类Dev

如何在API网关上将多值查询字符串参数传递给lambda?

来自分类Dev

使用允许多值参数向 Oracle 查询 Crystal 报表

来自分类Dev

Elasticsearch:如何查询或汇总多值字段计数

来自分类Dev

如何使用restclient将以下curl代码转换为ruby代码

来自分类Dev

如何使用查询在多值查找字段中取消选择值

来自分类Dev

如何在SSRS中使用多值参数列表过滤列

来自分类Dev

如何在SSRS(SQL Server Reporting Services)的iif表达式中使用多值参数?

来自分类Dev

如何在不使用下拉列表的情况下在SSRS报表中显示多值参数

来自分类Dev

如何获得Groovy RestClient的完整响应失败响应

来自分类Dev

如何使用othwerwise函数传递查询参数

来自分类Dev

如何使用动态参数创建JPA查询?

来自分类Dev

如何在Shiny中使用查询参数

来自分类Dev

如何在属性中使用查询参数?

来自分类Dev

如何使用NestJS处理查询参数?

来自分类Dev

如何使用react挂钩删除查询参数?

来自分类Dev

如何为ORDER BY使用查询参数?

来自分类Dev

如何使用contain子句查询多个参数?

来自分类Dev

如何使用哈希图查询多个参数?

来自分类Dev

如何使用通过表单参数找到的一个表的结果查询另一个表-Ruby on Rails

来自分类Dev

如何获得“传递参数”

来自分类Dev

如何获得参数传递?

来自分类Dev

如何获得参数的值

来自分类Dev

如何定义函数使用循环并返回多值

来自分类Dev

如何使用xsl转换多值xml属性

来自分类Dev

如何使用 Access VBA 更新多值字段

Related 相关文章

  1. 1

    如何使具有多值参数的查询运行得更快?

  2. 2

    使用ruby elasticsearch gem,如何查询多个参数

  3. 3

    NoMethodError尝试使用Ruby RestClient

  4. 4

    基于多值参数更改查询

  5. 5

    如何在API网关上将多值查询字符串参数传递给lambda?

  6. 6

    使用允许多值参数向 Oracle 查询 Crystal 报表

  7. 7

    Elasticsearch:如何查询或汇总多值字段计数

  8. 8

    如何使用restclient将以下curl代码转换为ruby代码

  9. 9

    如何使用查询在多值查找字段中取消选择值

  10. 10

    如何在SSRS中使用多值参数列表过滤列

  11. 11

    如何在SSRS(SQL Server Reporting Services)的iif表达式中使用多值参数?

  12. 12

    如何在不使用下拉列表的情况下在SSRS报表中显示多值参数

  13. 13

    如何获得Groovy RestClient的完整响应失败响应

  14. 14

    如何使用othwerwise函数传递查询参数

  15. 15

    如何使用动态参数创建JPA查询?

  16. 16

    如何在Shiny中使用查询参数

  17. 17

    如何在属性中使用查询参数?

  18. 18

    如何使用NestJS处理查询参数?

  19. 19

    如何使用react挂钩删除查询参数?

  20. 20

    如何为ORDER BY使用查询参数?

  21. 21

    如何使用contain子句查询多个参数?

  22. 22

    如何使用哈希图查询多个参数?

  23. 23

    如何使用通过表单参数找到的一个表的结果查询另一个表-Ruby on Rails

  24. 24

    如何获得“传递参数”

  25. 25

    如何获得参数传递?

  26. 26

    如何获得参数的值

  27. 27

    如何定义函数使用循环并返回多值

  28. 28

    如何使用xsl转换多值xml属性

  29. 29

    如何使用 Access VBA 更新多值字段

热门标签

归档