Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/local/bin/ruby
- require 'net/https'
- require 'open-uri'
- require 'cgi'
- def login(options)
- @req = Net::HTTP::new("#{options[:domain]}.campfirenow.com", (options[:ssl] ? 443 : 80))
- @req.use_ssl = options[:ssl] || false
- headers = { 'Content-Type' => 'application/x-www-form-urlencoded' }
- case options[:method]
- when :url
- res = @req.post("/#{options[:url]}", "name=#{options[:username]}", headers)
- @room_id = res['location'].scan(/room\/(\d+)/).to_s
- puts res.body if @debug
- when :login
- username = "#{options[:username]}"
- params = "email_address=#{CGI.escape(username)}&password=#{CGI.escape(options[:password])}"
- puts params if @debug
- res = @req.post("/login/", params, headers)
- @room_id = options[:room]
- puts "Logging into room #{@room_id}" if options[:debug]
- puts res.body if @debug
- end
- @headers = { 'Cookie' => res.response['set-cookie'] }
- res2 = @req.get(res['location'], @headers)
- puts res2.body if @debug
- # refresh our headers
- @headers = { 'Cookie' => res.response['set-cookie'] }
- @req.get("/room/#{@room_id}/") # join the room if necessary
- return @headers
- end
Add Comment
Please, Sign In to add comment