¿Alguien sabe cómo hacer la autenticación básica con RestClient?¿Cómo realizo la autenticación básica con RestClient?
Necesito crear un repositorio privado en GitHub a través de su API RESTful.
¿Alguien sabe cómo hacer la autenticación básica con RestClient?¿Cómo realizo la autenticación básica con RestClient?
Necesito crear un repositorio privado en GitHub a través de su API RESTful.
Desde el source parece que puede simplemente especificar usuario y contraseña como parte de su objeto de solicitud.
Ha intentado algo así como:
r = Request.new({:user => "username", :password => "password"})
Además, si se mira hacia abajo en la sección de Shell de la ReadMe tiene un ejemplo de especificar como parte de restshell
.
$ restclient https://example.com user pass
>> delete '/private/resource'
La forma más sencilla es la de insertar los datos en la URL:
RestClient.get "http://username:[email protected]"
Estaba buscando cómo realizar la autenticación sin tener que inicializar una RestClient :: Request. +1 para el uso del método RestClient.get. PERO ¿el nombre de usuario y la contraseña no requieren escaparse? Parece que no es tan fácil como parece. – AgostinoX
¿Qué pasa si mi nombre de usuario tiene un carácter '@'? – Sai
... pero si tienes caracteres especiales como # en tu contraseña, obtienes excedimiento: InvalidURIError: URI incorrecto (¿no es URI?) – territorial
Aquí es un ejemplo de código de trabajo, donde yo apoyo basicauth opcional, pero no requieren que el usuario y la contraseña ser incrustado en la URL:
def get_collection(path)
response = RestClient::Request.new(
:method => :get,
:url => "#{@my_url}/#{path}",
:user => @my_user,
:password => @my_pass,
:headers => { :accept => :json, :content_type => :json }
).execute
results = JSON.parse(response.to_str)
end
hacer la nota si @my_user
@mypass
y no se crean instancias, funciona bien sin basicauth.
Considere incluir el módulo en uso para mejorar esto. p.ej. 'RestClient :: Request' y agregar más contexto para que el ejemplo que proporcionó sea completamente funcional –