server端:
参照:http://railscasts.com/episodes/82-http-basic-authentication
products_controller.rb
before_filter :authenticate
protected
def authenticate
authenticate_or_request_with_http_basic do |username, password|
username == "foo" && password == "bar"
end
end
client端:
参照:http://www.iteye.com/topic/341940
require'net/http'
require'base64'
url="http://api.iteye.com/api/auth/verify"
user="your_username"
password="your_password"
basic_str="Basic #{Base64.b64encode(user+":"+password)}"
url=URI.parse(url)
http=Net::HTTP.new(url.host,url.port)
resp=http.get(url.path,{"Authorization"=>basic_str})
puts resp.code
puts resp.body
post:
domain = 'localhost:3000'
url = "http://#{domain}/admin/login.json"
url = URI.parse(url)
req = Net::HTTP::Post.new(url.path)
req.basic_auth 'jack', 'pass'
req.set_form_data({'user_name' => 'zhangsan', 'password' => '123456'})
res = Net::HTTP.new(url.host, url.port).start {|http| http.request(req) }
case res
when Net::HTTPSuccess, Net::HTTPRedirection
puts res.body
else
res.error!
end