दिलचस्प पोस्ट
"निष्पादन के आसपास" मुहावरे क्या है? javascript regexp सभी विशेष वर्णों को हटा दें ऑब्जेक्ट के लिए प्राथमिकता कतार एसटीएल का उपयोग कैसे करें? सी # में एकाधिक कुंजी चढ़ाव पर कब्जा MySQL में लोड डेटा इन्फिल के लिए एक्सेस अस्वीकृत फ़ाइल इनपुट वैल्यू को प्रोग्रामैटिक रूप से कैसे सेट करें (यानी: ड्रैग-ड्रॉपिंग फाइलें)? आकार की वापसी 0 (शून्य) कर सकते हैं एक अज्ञात वर्ग के निर्माता तक पहुंच एंड्रॉइड व्यूपपैजर के रूप में छवि स्लाइड गैलरी मुख्य थ्रेड पर एक लंबे समय से चलने वाले पार्स ऑपरेशन को निष्पादित किया जा रहा है पायथन में एक सरणी को कैसे घोषित करना है? पृष्ठ विश्लेषिकी के कारण पेजस्पीड इनसाइट्स 99/100 – मैं जीए कैश कैसे कर सकता हूं? एक बंद (मानक) स्ट्रीम को फिर से खोलना संभव क्यों नहीं है? मैं रेल में एक तिथि कैसे सत्यापित करूं? JSF में वर्ग स्तर की बीन सत्यापन बाधाओं को मान्य करें

Android पर वॉली के साथ मूलभूत प्रमाणीकरण का उपयोग कैसे किया जाता है?

मैं उदाहरणों और कोड के माध्यम से देख रहा हूं लेकिन मुझे कुछ भी लागू नहीं हुआ क्या इस स्तर पर संभव है?

Solutions Collecting From Web of "Android पर वॉली के साथ मूलभूत प्रमाणीकरण का उपयोग कैसे किया जाता है?"

हाँ, यह मुमकिन है। आपको Request.getHeaders () को ओवरराइड करना होगा। मैं आलसी हूँ और मैंने एंड्रॉइड के लिए स्प्रिंग से एचटीटीपी हेडर और एचटीटीपी एटिफिकेशन का इस्तेमाल किया था लेकिन आप सिर्फ एकथ हैडर बना सकते हैं और इसे विधि से वापस कर सकते हैं। GetHeaders से () आप मूल प्रमाण के लिए auth हेडर वापस कर सकते हैं। यह बुनियादी प्रमाण के साथ एक नमूना अनुरोध है।

public class GetUser extends Request<User> { private static final String TAG = GetUser.class.getName(); private Response.Listener<User> mListener; private ObjectMapper mMapper = new ObjectMapper(); public GetUser(Response.ErrorListener errorListener, Response.Listener<User> listener){ super(Method.GET, PoisUtils.BASE_URL + "/users", errorListener); mListener = listener; } @Override protected Response<User> parseNetworkResponse(NetworkResponse response) { String jsonString = new String(response.data); try { User result = mMapper.readValue(jsonString, User.class); return Response.success(result, getCacheEntry()); } catch (IOException e) { Log.d(TAG, e.getMessage()); } return null; } @Override protected void deliverResponse(User response) { mListener.onResponse(response); } @Override public Map<String, String> getHeaders() throws AuthFailureError { return AuthUtils.buildAuthHeaders().toSingleValueMap(); } } 

और यहां है कि मैं auth शीर्षलेखों का निर्माण कैसे करता हूं

 public static HttpHeaders buildAuthHeaders(){ if(UserUtils.isUserLogged()){ HttpHeaders requestHeaders = new HttpHeaders(); User user = PoisApplication.get().getUser(); HttpAuthentication auth = new HttpBasicAuthentication( user.getUsername(), user.getPassword()); requestHeaders.setAuthorization(auth); return requestHeaders; } return null; } 

उन लोगों के लिए जो एंड्रॉइड के लिए स्प्रिंग का उपयोग नहीं करना चाहते हैं, यहां यह कैसे करना है।

 @Override public Map<String, String> getHeaders() throws AuthFailureError { HashMap<String, String> params = new HashMap<String, String>(); String creds = String.format("%s:%s","USERNAME","PASSWORD"); String auth = "Basic " + Base64.encodeToString(creds.getBytes(), Base64.DEFAULT); params.put("Authorization", auth); return params; } 

ध्यान दें कि इसके लिए Base64.NO_WRAP बजाय Base64.NO_WRAP का उपयोग करना पड़ सकता है। जैसा कि टिप्पणियों में बताया गया है।

एपीआई 8+

प्रॉक्सी प्राधिकरण (जैसे व्यंग्य) के लिए इस हैडर का उपयोग करें:

 String credentials = proxyUsername + ":" + proxyPassword; String auth = "Basic " + Base64.encodeToString(credentials.getBytes(), Base64.NO_WRAP); headers.put("Proxy-Authorization", auth);