2013-01-15 22 views
5

tôi dự định sẽ gửi một yêu cầu như sau:Lấy chuỗi yêu cầu đầy đủ sử dụng của Ruby curl

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 

Tôi muốn đăng nhập theo yêu cầu http chính xác mà đang được thực hiện. Có cách nào để có được yêu cầu thực tế đã được thực hiện (đường dẫn cơ sở, tham số truy vấn, tiêu đề và nội dung) không?

+0

Bạn đã thử đặt 'curl.verbose = true' trong khối của mình chưa? – onions

Trả lời

1

on_debug handler đã giúp tôi trước đây. Trong ví dụ của bạn, bạn có thể thử:

curl.on_debug do |type, data| 
    puts type, data 
end 
0

Bạn có thể đạt được giải pháp theo cách differents:

Bên trong khối của bạn, bạn có thể đặt:

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

Hoặc bên ngoài khối:

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 

Hãy nhớ gọi c.perform (nếu chưa được thực hiện) trước khi gọi các phương thức này.

Có thể tìm thấy nhiều tùy chọn khác tại đây: http://curb.rubyforge.org/classes/Curl/Easy.html#M000001

Các vấn đề liên quan