मैं एक समय क्षेत्र GET अनुरोध में ऑफसेट, जैसे के साथ एक टाइमस्टैम्प पारित करने के लिए की जरूरत है,एक इनकोडिंग प्लस (% 2 बी) के साथ एक NSURL बनाओ
2009-05-04T11: 22: 00 + 01: 00
यह दो तर्कों की तरह दिखता है "2009-05-04T11: 22: 00" और "01:00" प्राप्त करने वाली PHP स्क्रिप्ट (जिस पर मेरा कोई नियंत्रण नहीं है)।
NSURL धन चिह्नों एन्कोड नहीं करता, लेकिन अगर मैं स्ट्रिंग का उपयोग एक NSURL बनाने
2009-05-04T11: 22: 00% 2B01: 00
यूआरएल मैं अंत साथ शामिल हैं:
2009-05-04T11: 22: 00% 252B01: 00
कोई विचार है कि मैं अपने एन्कोडेड प्लस साइन को कैसे सुरक्षित रख सकता हूं या सिर्फ सादा एनएसआरएल को एन्कोडिंग से रोक सकता हूं?
मुझे समझ में नहीं आता कि यह सही जवाब कैसे है। सवाल पूछता है कि उचित NSURL ऑब्जेक्ट कैसे बनाएं। यदि इस स्ट्रिंग का उपयोग NSURL ऑब्जेक्ट बनाने के लिए किया जाता है, तो% sign को फिर से% 25 के रूप में एन्कोड किया जाएगा। कृपया स्पष्ट करें। –
यह समस्या हल करता है। हालांकि यह सही समाधान नहीं है क्योंकि यह केवल '+' से संबंधित है और अन्य पात्रों को एन्कोड करने की आवश्यकता नहीं है। –
यह मेरे लिए काम नहीं किया। इसके बजाय, मैंने urlString बनाने से पहले रिक सैंटोस के उत्तर का उपयोग करके टाइमस्टैम्प को एन्कोड किया। मेरे अनुभव में, मैंने कभी भी किसी को पैरामीटर नाम, स्कीमा, डोमेन या यूआरएल के अन्य हिस्सों को एन्कोड करने की आवश्यकता नहीं देखी है। इसलिए, पैरामीटर मान अलग से एन्कोड करना हमेशा सर्वोत्तम होता है। लेकिन, यह एक अच्छा काम होगा जो एक यूआरएल को तोड़ देगा, इसे सही ढंग से एन्कोड किया जाएगा, फिर इसे एक साथ रखेगा। मुझे लगता है कि stringByAddingPercentEscapesUsingEncoding ने ऐसा किया, लेकिन स्पष्ट रूप से यह + संकेतों जैसे मामलों में विफल रहता है। – Brainware