2013-08-13 5 views
7

मैं एंड्रॉइड ऐप से सरल अनुरोध करने के लिए स्क्वायर के रेट्रोफिट क्लाइंट का उपयोग कर रहा हूं। इस तरह:स्क्वायर रेट्रोफिट क्लाइंट: FollowRedirects को सक्षम/अक्षम कैसे करें? रीडायरेक्ट यूआरएल को कैसे रोकें?

RestAdapter restAdapter = new RestAdapter.Builder() 
      .setServer(Configurations.getInstance().plistMap.get("PTBaseURL")) 
      .setRequestHeaders(new RequestHeaders() { 
       @Override 
       public List<Header> get() { 
        List<Header> headers = new ArrayList<Header>(); 
         Header authHeader = new Header("Authorization", authType + " " + UserManager.getInstance().currentUser.token); 
         headers.add(authHeader); 
        } 
        return headers; 
       } 
      }) 
      .build(); 

    this.service = restAdapter.create(ClientInterface.class); 

एक एंडपॉइंट एक अलग यूआरएल (एस 3) पर रीडायरेक्ट करता है। किसी कारण से इस प्रश्न के लिए महत्वपूर्ण नहीं है कि पुनर्निर्देशन अनुरोध विफल हो रहा है और इस प्रकार मेरी callback.failure(error) विधि कहा जा रहा है। मुझे रीडायरेक्ट यूआरएल तक पहुंचने और संशोधित करने में सक्षम होना चाहिए या किसी बिंदु पर अनुरोध करना चाहिए, callback.failure() में बेहतर। मैं यह कैसे कर सकता हूँ?

वैकल्पिक रूप से, followRedirects = false (और इस तरह से रीडायरेक्ट को अवरुद्ध करने) जैसे कुछ सेट करने का कोई तरीका है?

उत्तर

5
OkHttp साथ

:

public static void setFollowRedirects (boolean auto) 
public OkHttpClient setFollowProtocolRedirects(boolean followProtocolRedirects) 

HttpURLConnection के साथ:

public static void setFollowRedirects (boolean auto) 
public void setInstanceFollowRedirects (boolean followRedirects) 

चर्चा here देखें।

संबंधित मुद्दे