2015-03-25 68 views
3

从我的RoR控制器,我试图发送http请求,需要用户名和密码。http请求与用户名和密码ruby

我想这

url = 'http://192.168.122.198 ...' 
uri = URI.parse(url) 
request = Net::HTTP::Get.new(uri.path) 
request['Accept'] = 'application/json' 
request.body = {'credentials' => {'username' => 'admin', 'password' => 'admin'}} 
response = Net::HTTP.get(uri) 

,但我发现这个错误

Error 401 Unauthorized 

任何想法,我怎么能传递我的请求,用户名和密码?

回答

1

尝试以下

uri = URI.parse("http://192.168.122.198") 

http = Net::HTTP.new(uri.host, uri.port) 
request = Net::HTTP::Get.new(uri.request_uri) 
request.basic_auth("admin", "admin") 
response = http.request(request) 
+0

参考:http://www.rubyinside.com/nethttp-cheat-sheet-2940.html – Hardik 2015-03-25 04:01:54