5

我打算发送如下请求:

c = Curl::Easy.http_post("https://example.com", json_string   
    ) do |curl|
      curl.headers['Accept'] = 'application/json'
      curl.headers['Content-Type'] = 'application/json'
      curl.headers['Api-Version'] = '2.2'
    end

我想记录正在发出的确切 http 请求。有没有办法获取发出的实际请求(基本路径、查询参数、标头和正文)?

4

2 回答 2

1

on_debug处理程序以前帮助过我。在您的示例中,您可以尝试:

curl.on_debug do |type, data|
  puts type, data
end
于 2013-02-03T19:19:24.210 回答
0

您可以通过不同的方式获得解决方案:

在您的块内,您可以放置​​:

curl.verbose = true   # that prints a detailed output of the connection

或在街区外:

c.url  # return the url with queries
c.total_time # retrieve the total time for the prev transfer (name resolving, TCP,...)
c.header_str # return the response header
c.headers # return your call header
c.body_str # return the body of the response

请记住在调用这些方法之前调用 c.perform(如果尚未执行)。

更多选项可以在这里找到:http ://curb.rubyforge.org/classes/Curl/Easy.html#M000001

于 2013-04-29T09:28:21.213 回答