I can't seem to get Faraday.get
to accept the user:pass@host syntax from a url and respect it. Parece que no puedo obtener Faraday.get
para aceptar la sintaxis user:pass@host de una url y respetarla.
Reproducing with Faraday 0.9.0 Reproduciendo con Faraday 0.9.0
Faraday.get("http://foo:bar<strong i="9">@localhost</strong>:3333/test")
The "server" El servidor"
% nc -l localhost 3333
GET /test HTTP/1.1
User-Agent: Faraday v0.9.0
Accept-Encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept: */*
Connection: close
Host: localhost:3333
I expected an Authentication header, or perhaps an error that auth wasn't supported. Esperaba un encabezado de autenticación, o tal vez un error de que no se admitía la autenticación.
I couldn't find docs on the Faraday.get
method on rubydoc.info for the Faraday module: http://www.rubydoc.info/gems/faraday/Faraday - so I'm not sure what I'm doing wrong. No pude encontrar documentos sobre el método Faraday.get
en rubydoc.info para el módulo de Faraday: http://www.rubydoc.info/gems/faraday/Faraday , así que no estoy seguro de lo que estoy haciendo mal
If you point me in the write direction, I am happy to write documentation for this method. Si me indica la dirección de escritura, me complace escribir documentación para este método.
enThere are several ways you can set authentication headers with Faraday. Hay varias formas de establecer encabezados de autenticación con Faraday. One way is to initialize a Faraday::Connection
instance and use the basic_auth
helper method: Una forma es inicializar una instancia Faraday::Connection
y usar el método auxiliar basic_auth
:
conn = Faraday.new(url: 'http://example.com') # create a new Connection with base URL
conn.basic_auth('user', 'pass') # set the Authentication header
conn.get('/foo') # GET http://example.com/foo
You could also use middleware: También podrías usar middleware:
conn = Faraday.new(url: 'http://example.com') do |builder|
builder.use Faraday::Request::Retry
builder.use Faraday::Request::BasicAuthentication, 'user', 'pass'
builder.use Faraday::Response::Logger
builder.use Faraday::Adapter::NetHttp
end
conn.get('/foo')
or: o:
Faraday.new(url: 'http://example.com') do |builder|
builder.request :retry
builder.request :basic_authentication, 'user', 'pass'
builder.response :logger
builder.adapter :net_http
end
conn.get('/foo')
Intridea has a nice blog post on basic Faraday usage that's a few years old but still relevant. Intridea tiene una buena publicación de blog sobre el uso básico de Faraday que tiene algunos años pero sigue siendo relevante.
Hope it helps some, Espero que ayude a algunos,
OI OI
Thanks @OI for the helpful examples. Gracias @OI por los ejemplos útiles.
@jordansissel For now, please use this form: @jordansissel Por ahora, utilice este formulario:
conn = Faraday.new('http://example.com')
conn.basic_auth('user', 'pass')
conn.get('/foo')
Sorry for the trouble. Lo siento por la molestia.
enThanks for the pointers, all! ¡Gracias por los consejos, todos! It helped me get things working. Me ayudó a hacer que las cosas funcionaran. ❤️❤️❤️ ❤️❤️❤️
On Tuesday, October 6, 2015, Mislav Marohnić [email protected] El martes 6 de octubre de 2015, Mislav Marohnić [email protected]
wrote: escribió:
enThanks @OI https://github.com/OI for the helpful examples. Gracias @OI https://github.com/OI por los ejemplos útiles.
@jordansissel https://github.com/jordansissel For now, please use this @jordansissel https://github.com/jordansissel Por ahora, utilice este
form: forma:conn = Faraday.new('http://example.com') conn = Faraday.nuevo('http://ejemplo.com')
conn.basic_auth('user', 'pass') conn.basic_auth('usuario', 'contraseña')
conn.get('/foo') conn.get('/foo')Sorry for the trouble. Lo siento por la molestia.
— —
Reply to this email directly or view it on GitHub Responda a este correo electrónico directamente o véalo en GitHub
https://github.com/lostisland/faraday/issues/426#issuecomment -145914646. https://github.com/lostisland/faraday/issues/426#issuecomment-145914646 .
Esto también fue reportado como #343.
enmás simple:
Faraday.get('http://localhost:3000', nil, authorization: "Bearer 1123")
Comentario más útil
más simple:
enFaraday.get('http://localhost:3000', nil, authorization: "Bearer 1123")