2012-04-18 16 views
9

NSURLProtocolClient प्रोटोकॉल में एक विधि, -URLProtocol:wasRedirectedToRequest:redirectResponse: शामिल है, जो NSRLProtocol subclasses के उदाहरणों को यूआरएल प्रोटोकॉल क्लाइंट को बताने के लिए उपयोग किया जाना चाहिए कि अनुरोध पुनर्निर्देशित किया गया था। हालांकि, मुझे यकीन नहीं है कि यूआरएल प्रोटोकॉल को पुनर्निर्देशित यूआरएल से संसाधन को पुनः प्राप्त करने का प्रयास किया जाना चाहिए या क्लाइंट को उस संसाधन के लिए एक नया अनुरोध जारी करने दें।क्या कस्टम NSURLProtocol स्वयं रीडायरेक्ट का पालन करना चाहिए, या इसके क्लाइंट को इसके बारे में चिंता करने दें?

क्या कोई मुझे बता सकता है कि रीडायरेक्ट के मामले में मूल URL प्रोटोकॉल ऑब्जेक्ट क्या करना चाहिए?

उत्तर

3

इस प्रश्न का उत्तर देने के लिए, मैंने बस अपने यूआरएल प्रोटोकॉल कार्यान्वयन में कोड हटा दिया जो रीडायरेक्ट प्रतिक्रिया में दिए गए लिंक का पालन करता है। यदि कनेक्शन क्लाइंट निम्न यूआरएल लोड करने के लिए एक नया कनेक्शन बनाता है तो यह बहुत स्पष्ट होना चाहिए। जैसा कि यह पता चला है, कुछ नहीं हुआ - क्लाइंट कभी नया कनेक्शन नहीं बनाता है, और रीडायरेक्ट का पालन नहीं किया जाता है। इससे मुझे निष्कर्ष निकालना होगा कि यूआरएल प्रोटोकॉल को खुद को रीडायरेक्ट प्रतिक्रिया में दिए गए यूआरएल को लोड करने का प्रयास करना चाहिए।

+0

मैं अपना स्वयं का यूआरएल प्रोटोकॉल लागू करने की कोशिश कर रहा हूं और इसमें, मैं प्रोटोकॉल में स्वचालित रूप से रीडायरेक्ट यूआरएल लोड करना चाहता हूं और इसे यूआरएल लोडिंग सिस्टम पर भेजना चाहता हूं। क्या यूआरएल बदलने के लिए पर्याप्त है: प्रतिक्रिया में रीडायरेक्ट यूआरएल की कुंजी या क्या मुझे और कुछ करने की ज़रूरत है? – Ravi

+1

इसे समझने के लिए धन्यवाद। मैंने देखा है कि NSRLProtocol ट्यूटोरियल में से कोई भी रीडायरेक्ट हैंडलिंग का उल्लेख नहीं किया है। – bugloaf