刮痧,我的查询参数错误

时间:2014-08-10 19:02:59

标签: ruby web-scraping mechanize

我在使用Ruby和Mechanize的网站上将POST查询传递给网站。基于firebug访问该站点的查询看起来像这样

param.PrdNo=-1&param.Type=Prop&param.RequestType=Normal&param.PropParams%5B0%5D.CrId=Base-MLB+Su+Washington+Na%40Atlanta+Brave

我传递红宝石代码的QUERY是这个

QUERY = { "param.PrdNo" => "-1",
          "param.Type" => "Prop",
          "param.RequestType" => "Normal",
          "param.PropParams[0].CrId" => "Base-MLB+Su+Washington+Na@Atlanta+Brave"}

doc.agent.post(url, QUERY, content_type)

记录器打印出以下内容

D, [2014-08-10T14:46:24.844744 #15801] DEBUG -- : query: "param.PrdNo=-1&param.Type=Prop&param.RequestType=Normal&param.PropParams%5B0%5D.CrId=Base-MLB%2BSu%2BWashington%2BNa%40Atlanta%2BBrave"

如何让我的代码进行类似于来自firebug的查询的查询?

1 个答案:

答案 0 :(得分:1)

您可以发布字符串:

vars = "param.PrdNo=-1&param.Type=Prop&param.RequestType=Normal&param.PropParams%5B0%5D.CrId=Base-MLB+Su+Washington+Na%40Atlanta+Brave"
doc.agent.post url, vars, content_type

它将作为原始帖子发送。