1

我正在尝试获取以前有效但再次工作的http post请求。

def post_params
  uri = Addressable::URI.new
  uri.query_values = {
    from: @from_city_id,
    to: @to_city_id,
    tmp_from: @from_city,
    tmp_to: @to_city,
    date: @when_date.strftime('%d.%m.%Y')
  }

  uri.query
end

http = Net::HTTP.new "www.domain.com"
res = http.post '/', post_params
raise res.inspect

但我最终遇到了文件结束错误。还有一件事:我不想进行 https 查询。

谢谢你的帮助

4

1 回答 1

3

我最终发现,问题是我需要指定一个 cookie,否则我会收到“文件结尾”错误。

    http = Net::HTTP.new "www.domain.com"
    http.use_ssl = false

    res_get = http.request(Net::HTTP::Get.new('/'))
    cookie = res_get.response['set-cookie']

    request = Net::HTTP::Post.new '/'
    request.set_form_data post_params
    request["Cookie"] = cookie

    res = http.request(request)
于 2013-08-29T18:34:49.737 回答