जावा में एक यूआरएल पर जाने के लिए क्वेरी पैरामीटर को कैसे एन्कोड किया जाता है? मुझे पता है, यह एक स्पष्ट और पहले से ही पूछा गया प्रश्न लगता है।
दो सूक्ष्मताएँ हैं जिनके बारे में मुझे यकीन नहीं है:
- क्या रिक्त स्थान को "+" या "% 20" के रूप में url पर एन्कोड किया जाना चाहिए? क्रोम में अगर मैं "http://google.com/foo=?bar me" टाइप करता हूँ तो क्रोम इसे% 20 के साथ एनकोड किया जा सकता है
- क्या कॉलन को एनकोड करना आवश्यक / सही है ":"% 3B के रूप में? Chrome नहीं करता है
टिप्पणियाँ:
java.net.URLEncoder.encode
काम करने के लिए प्रतीत नहीं होता है, यह डेटा को एन्कोडिंग करने के लिए प्रस्तुत किया जाना प्रतीत होता है। उदाहरण के लिए, यह+
इसके बजाय स्थान को एन्कोड करता है%20
, और कोलन को एन्कोड करता है जो आवश्यक नहीं है।java.net.URI
क्वेरी मापदंडों को एनकोड नहीं करता है
application/x-www-form-urlencoded
कुंजी / मान जोड़े की अपेक्षा करते हैं । और अधिक देखने के लिए यहां देखें: illegalargumentexception.blogspot.com/2009/12/…