I can't seem to get Faraday.get
to accept the user:pass@host syntax from a url and respect it. يبدو أنني لا أستطيع الحصول على Faraday.get
لقبول المستخدم: مرر بناء جملة المضيف من عنوان url واحترمه.
Reproducing with Faraday 0.9.0 استنساخ مع فاراداي 0.9.0
Faraday.get("http://foo:bar<strong i="9">@localhost</strong>:3333/test")
The "server" الخادم"
% 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. كنت أتوقع رأس المصادقة ، أو ربما خطأ لم يتم دعم المصادقة.
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. لم أتمكن من العثور على مستندات على طريقة Faraday.get
على rubydoc.info لوحدة Faraday: http://www.rubydoc.info/gems/faraday/Faraday - لذلك لست متأكدًا مما أنا عليه فعل الخطأ.
If you point me in the write direction, I am happy to write documentation for this method. إذا وجهتني في اتجاه الكتابة ، يسعدني أن أكتب توثيقًا لهذه الطريقة.
enThere are several ways you can set authentication headers with Faraday. هناك عدة طرق يمكنك من خلالها تعيين رؤوس المصادقة باستخدام Faraday. One way is to initialize a Faraday::Connection
instance and use the basic_auth
helper method: إحدى الطرق هي تهيئة مثيل Faraday::Connection
واستخدام التابع المساعد 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: يمكنك أيضًا استخدام البرامج الوسيطة:
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: أو:
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 منشور مدونة لطيف حول استخدام Faraday الأساسي الذي مضى عليه بضع سنوات ولكنه لا يزال مناسبًا.
Hope it helps some, آمل أن يساعد البعض ،
OI OI
Thanks @OI for the helpful examples. شكرًاOI على الأمثلة المفيدة.
@jordansissel For now, please use this form: jordansissel في الوقت الحالي ، يرجى استخدام هذا النموذج:
conn = Faraday.new('http://example.com')
conn.basic_auth('user', 'pass')
conn.get('/foo')
Sorry for the trouble. اسف على المشاكل.
enThanks for the pointers, all! شكرا للمؤشرات ، كل شيء! It helped me get things working. لقد ساعدني في جعل الأشياء تعمل. ❤️❤️❤️ ❤️❤️❤️
On Tuesday, October 6, 2015, Mislav Marohnić [email protected] يوم الثلاثاء ، 6 أكتوبر 2015 ، ميسلاف ماروني ، إخطارات github.com
wrote: كتب:
enThanks @OI https://github.com/OI for the helpful examples. شكرًاOI https://github.com/OI على الأمثلة المفيدة.
@jordansissel https://github.com/jordansissel For now, please use this jordansissel https://github.com/jordansissel في الوقت الحالي ، يرجى استخدام هذا
form: شكل:conn = Faraday.new('http://example.com') conn = Faraday.new ('http://example.com')
conn.basic_auth('user', 'pass') conn.basic_auth ("مستخدم" ، "تمرير")
conn.get('/foo') conn.get ('/ foo')Sorry for the trouble. اسف على المشاكل.
— -
Reply to this email directly or view it on GitHub قم بالرد على هذا البريد الإلكتروني مباشرة أو قم بعرضه على GitHub
https://github.com/lostisland/faraday/issues/426#issuecomment -145914646. https://github.com/lostisland/faraday/issues/426#issuecomment -145914646.
تم الإبلاغ عن هذا أيضًا كـ # 343.
enأبسط:
Faraday.get('http://localhost:3000', nil, authorization: "Bearer 1123")
التعليق الأكثر فائدة
أبسط:
enFaraday.get('http://localhost:3000', nil, authorization: "Bearer 1123")