代码之家  ›  专栏  ›  技术社区  ›  Upgradingdave

如何打印有关net:httpRequest的信息以进行调试?

  •  31
  • Upgradingdave  · 技术社区  · 15 年前

    我是Ruby来自Java的新手。我试图发出一个HTTP GET请求,得到一个HTTP响应代码400。我通过HTTP调用的服务非常特别,我很确定我的请求不完全正确。“看看里面”会很有帮助的。 req 对象在我执行head请求(如下)后,再次检查正在发送的请求头是否是我认为要发送的。有打印出REQ对象的方法吗?

    req = Net::HTTP.new(url.host, url.port)
    req.use_ssl = true
    
    res = req.head(pathWithScope, request_headers)
    
    code = res.code.to_i
    puts "Response code: #{code}"
    

    我试过这个: puts "Request Debug: #{req.inspect}" 但它只打印了这个: #<Net::HTTP www.blah.com:443 open=false>

    1 回复  |  直到 15 年前
        1
  •  57
  •   August Lilleaas    15 年前

    使用 set_debug_output .

    http = Net::HTTP.new(url.host, url.port)
    http.set_debug_output($stdout) # Logger.new("foo.log") works too
    

    以及更多 http://github.com/augustl/net-http-cheat-sheet :)