Skicka en HTTP-förfrågan med Basic-autentisering

Ruby:
Skicka en HTTP-förfrågan med Basic-autentisering

Hur man gör:

require 'net/http'
require 'uri'

uri = URI('http://example.com/secured/resource')
username = 'anvandare'
password = 'lösenord'

# Skapar ett HTTP-objekt och begär med grundläggande autentisering
Net::HTTP.start(uri.host, uri.port) do |http|
  request = Net::HTTP::Get.new(uri)
  request.basic_auth(username, password)

  response = http.request(request)
  puts response.body
end

Om svarskoden är 200, blev förfrågan framgångsrik:

Välkommen, du är nu inloggad.

Om 401, misslyckades autentisering:

Ogiltig autentisering.

Fördjupning:

Skicka HTTP-förfrågan med grundläggande autentisering har sitt ursprung i HTTP/1.0 och har följt med till HTTP/1.1. Det är standard men anses inte super-säkert, eftersom användarnamn och lösenord kodas med base64, vilket är lätt att dekoda. I modern tid används ofta robustare autentiseringssystem som OAuth. För grundläggande autentisering i Ruby, Net::HTTP-biblioteket kan hantera förfrågningar men för mer avancerade saker, överväg att använda bibliotek som RestClient eller HTTParty som smidigarbetet.

Se Även: