I am unsure what `www_auth_response` is suppose to do. Also you have `return` at the end of the `post_data` method which is probably not what you want. What does the server side request look like when you call this post method? On Tue, Jun 11, 2013 at 3:58 AM, Kirill Grin <lists / ruby-forum.com> wrote: > m fighting with post request of digest auth a few days and still can't > get how to send json body. Please help me! Server told that i got in, > but by json was not used. i'm using net/http/digest_auth gem. Is i think > json must be placed in the right place, but I don't now where. Thanks a > lot! > > def post_data > uri = URI.parse 'http://somelink.com' > uri.user = 'test' > uri.password = 'test' > > data = {:ID => "123456789", :name => "me"} > data_type = JSON.generate(data) > > digest_auth = Net::HTTP::DigestAuth.new > > h = Net::HTTP.new uri.host, uri.port > h.set_debug_output $stderr > > req = Net::HTTP::Post.new uri.request_uri > res = h.request req > > www_auth_response = res['www-authenticate'] > www_auth_response["algorithm=\"MD5\""] = "algorithm=MD5" > auth = digest_auth.auth_header uri, www_auth_response, 'POST' > > req = Net::HTTP::Post.new uri.request_uri > req.add_field 'Authorization', auth > req.content_type= "application/json" > req.body = data_type > > res = h.request req > puts res.code > return > end > > -- > Posted via http://www.ruby-forum.com/. > >