ruby NoMethodError中的HTTP Post

时间:2015-06-02 18:42:44

标签: ruby http

我正在尝试使用require' net / http'这是我的要求

token_url = 'http://www.[url].com/oauth/token'
uri = URI(token_url)
req = Net::HTTP::Post.new(uri)
req.basic_auth ENV['OAUTH_ID'], ENV['OAUTH_PASSWORD']
req.set_form_data({ 'grant_type' => 'client_credentials' })
resp = Net::HTTP.new(uri.host, uri.port).start {|http| http.request(req) }
JSON.parse(resp.body)['access_token']

我一直收到此错误:NoMethodError - undefined method 'empty?' for #<URI::HTTP:0x007fb2ed01bdf8>:

这发生在这一行&#34; req = Net::HTTP::Post.new(uri)&#34;。 任何想法为什么?

1 个答案:

答案 0 :(得分:2)

想出来:

替换

req = Net::HTTP::Post.new(uri) 

req = Net::HTTP::Post.new(uri.request_uri)