Faraday: Faraday.get والمصادقة الأساسية

تم إنشاؤها على ٢٣ أكتوبر ٢٠١٤  ·  5تعليقات  ·  مصدر: lostisland/faraday

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. إذا وجهتني في اتجاه الكتابة ، يسعدني أن أكتب توثيقًا لهذه الطريقة.

en

التعليق الأكثر فائدة

أبسط:
Faraday.get('http://localhost:3000', nil, authorization: "Bearer 1123")

en

ال 5 كومينتر

There 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

en

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. اسف على المشاكل.

en

Thanks for the pointers, all! شكرا للمؤشرات ، كل شيء! It helped me get things working. لقد ساعدني في جعل الأشياء تعمل. ❤️❤️❤️ ❤️❤️❤️

On Tuesday, October 6, 2015, Mislav Marohnić [email protected] يوم الثلاثاء ، 6 أكتوبر 2015 ، ميسلاف ماروني ، إخطارات github.com
wrote: كتب:

Thanks @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.

en

تم الإبلاغ عن هذا أيضًا كـ # 343.

en

أبسط:
Faraday.get('http://localhost:3000', nil, authorization: "Bearer 1123")

en
هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات