POST अनुरोधों में% 5B और% 5D क्या है?


266

मैं एक निश्चित वेबसाइट में लॉग इन करने के लिए जावा क्लास लिखने की कोशिश कर रहा हूं। POST में भेजे गए डेटा को लॉग इन करने का अनुरोध किया गया है

user%5Blogin%5D=username&user%5Bpassword%5D=123456

मैं उत्सुक हूं कि मुख्य उपयोगकर्ता लॉगिन में क्या %5Bऔर %5Dसाधन हैं ।

मैं इन आंकड़ों को कैसे एन्कोड करूं?

जवाबों:


482

यहाँ पर इस उत्तर के अनुसार : str='foo%20%5B12%5D'एनकोड foo [12]:

%20 is space
%5B is '['
and %5D is ']'

इसे प्रतिशत एन्कोडिंग कहा जाता है और इसका उपयोग url पैरामीटर मानों में विशेष वर्ण एन्कोडिंग में किया जाता है।

EDIT जिस तरह से मैं https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/encodeURI#Description पढ़ रहा था, वैसे ही यह मेरे लिए हुआ कि कितने लोग एक ही खोज करते हैं। पृष्ठ के निचले भाग पर नोट देखें:

यह भी ध्यान दें कि यदि कोई URL के लिए अधिक हाल के RFC3986 का पालन करना चाहता है , तो वर्ग कोष्ठक (IPv6 के लिए) आरक्षित कर सकता है और इस प्रकार एन्कोड नहीं किया जाता है, जब ऐसा कुछ बनता है जो URL का हिस्सा हो सकता है (जैसे होस्ट), निम्नलिखित मदद कर सकता है।

function fixedEncodeURI (str) {
    return encodeURI(str).replace(/%5B/g, '[').replace(/%5D/g, ']');
}

उम्मीद है कि इस सवाल पर ठोकर खाने से लोगों को अपनी समस्याओं को सुलझाने में मदद मिलेगी।


1
उसके लिए बहुत अधिक धन्यवाद।
रकीब अंसारी

@ टैक्टिकल कोडर: हाँ, धन्यवाद। यह मेरी गरीब अंग्रेजी है। इसे ठीक करना।
बोरिस स्ट्रैंडजेव

आपका RFC3986 लिंक टूट गया है
DudeOnRock




3

त्वरित रूप से देखने के लिए, आप इस ऑनलाइन टूल का उपयोग करके प्रतिशत-एन / डीकोड कर सकते हैं


1
हालांकि यह लिंक प्रश्न का उत्तर दे सकता है, लेकिन उत्तर के आवश्यक भागों को शामिल करना और संदर्भ के लिए लिंक प्रदान करना बेहतर है। लिंक-केवल उत्तर अमान्य हो सकते हैं यदि लिंक किए गए पृष्ठ बदल जाते हैं। - समीक्षा से
पीटर

@Peter धन्यवाद, लेकिन यह केवल ऑनलाइन टूल की एक कड़ी है, जो यहां मददगार हो सकता है। चूंकि उत्तर पहले से ही प्रदान किए गए थे इसलिए आगे स्पष्टीकरण की कोई आवश्यकता नहीं है।
Krzysztof Przygoda

1

डेटा संभवतः मूल रूप से वेब रूप से पोस्ट किया गया होता है, जो इस तरह थोड़ा सा दिखता है (लेकिन शायद अधिक जटिल है):

<form action="http://example.com" method="post">

  User login    <input name="user[login]"    /><br />
  User password <input name="user[password]" /><br />

  <input type="submit" />
</form>

यदि विधि "पोस्ट" के बजाय "प्राप्त" होती है, तो सबमिट बटन पर क्लिक करने से आपको इस तरह से देखने वाले URL पर ले जाएगा:

http://example.com/?user%5Blogin%5D=username&user%5Bpassword%5D=123456

या:

http://example.com/?user[login]=username&user[password]=123456

दूसरे छोर पर वेब सर्वर की संभावना ले जाएगा user[login]और user[password]पैरामीटर, और उन्हें एक में बनाने userके साथ वस्तु loginऔर passwordउन मूल्यों से युक्त क्षेत्रों।


0

कम से कम महत्वपूर्ण नहीं है कि ये प्रतीक उरल में क्यों होते हैं। विशेष रूप से https://www.php.net/manual/en/function.parse-str.php#76792 देखें :

parse_str('foo[]=1&foo[]=2&foo[]=3', $bar);

उपरोक्त उत्पादन:

$bar = ['foo' => ['1', '2', '3'] ];

और arrays में (php में कम से कम) क्वेरी क्वेरी को अलग करने की विधि क्या है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.