क्या कोई जानता है कि RestClient के साथ मूल प्रमाणीकरण कैसे करें?मैं RestClient के साथ मूल प्रमाणीकरण कैसे करूं?
मुझे अपने रीस्टफुल एपीआई के माध्यम से गिटहब पर एक निजी भंडार बनाने की आवश्यकता है।
क्या कोई जानता है कि RestClient के साथ मूल प्रमाणीकरण कैसे करें?मैं RestClient के साथ मूल प्रमाणीकरण कैसे करूं?
मुझे अपने रीस्टफुल एपीआई के माध्यम से गिटहब पर एक निजी भंडार बनाने की आवश्यकता है।
source से ऐसा लगता है कि आप अपने अनुरोध ऑब्जेक्ट के हिस्से के रूप में केवल उपयोगकर्ता और पासवर्ड निर्दिष्ट कर सकते हैं।
r = Request.new({:user => "username", :password => "password"})
इसके अलावा, अगर आप ReadMe की शैल खंड में नीचे देखो यह restshell
के हिस्से के रूप में यह निर्दिष्ट करने का एक उदाहरण है:
आप की तरह कुछ कोशिश की है।
RestClient.get "http://username:[email protected]"
सबसे आसान तरीका है 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
ध्यान दें कि यदि @my_user
और @mypass
instantiated नहीं कर रहे हैं, यह BasicAuth बिना ठीक काम करता है है।
दिया है, मैं खोज रहा था कि RestClient :: अनुरोध प्रारंभ किए बिना प्रमाणीकरण कैसे करें। RestClient.get विधि के उपयोग के लिए +1। लेकिन उपयोगकर्ता नाम और पासवर्ड से बचने की आवश्यकता नहीं है? ऐसा लगता है कि यह उतना आसान नहीं है जितना लगता है। – AgostinoX
क्या होगा यदि मेरे उपयोगकर्ता नाम के पास '@' वर्ण है? – Sai
... लेकिन अगर आपके पास अपने पासवर्ड में # जैसे विशेष अक्षर हैं तो आपको एक्सीटियन मिल गया है: अमान्यURIError: खराब यूआरआई (यूआरआई नहीं है?) – territorial
यहाँ काम करने वाले कोड का एक उदाहरण है जहाँ मैं वैकल्पिक BasicAuth समर्थन लेकिन उपयोगकर्ता और पासवर्ड में एम्बेड किया जा ज़रूरत नहीं पड़ती:
$ restclient https://example.com user pass
>> delete '/private/resource'
इसे सुधारने के लिए उपयोग में मॉड्यूल को शामिल करने पर विचार करें। जैसे 'RestClient :: Request' और उदाहरण को बनाने के लिए अधिक संदर्भ जोड़ना जो आपने पूरी तरह कार्यात्मक –