পোষ্ট অনুরোধে% 5B এবং% 5D কীসের জন্য দাঁড়ায়?


265

আমি একটি নির্দিষ্ট ওয়েবসাইটে লগ ইন করার জন্য জাভা ক্লাস লেখার চেষ্টা করছি। লগ ইন করার অনুরোধ পোস্টে প্রেরিত ডেটা হ'ল

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 ']'

এটিকে শতাংশ এনকোডিং বলা হয় এবং ইউআরএল প্যারামিটার মানগুলিতে বিশেষ অক্ষরগুলি এনকোডিংয়ে ব্যবহৃত হয়।

সম্পাদনা করুন আমি যেভাবে https://developer.mozilla.org/en-US/docs/ জাভা স্ক্রিপ্ট / রেফারেন্স / গ্লোবাল_অবজেক্টস / এনকোডিউরি# বিবরণ পড়ছিলাম , ঠিক তখনই আমার কাছে ঘটেছিল কেন এত লোক একই অনুসন্ধান করে। পৃষ্ঠার নীচে নোটটি দেখুন:

এছাড়াও মনে রাখবেন যে কেউ ইউআরএল-এর জন্য সাম্প্রতিক আরএফসি 3986 অনুসরণ করতে চান , বর্গাকার বন্ধনীগুলি সংরক্ষিত (আইপিভি 6 এর জন্য) তৈরি করে এবং এভাবে কোনও URL তৈরির সময় এনকোড না করে (যেমন হোস্টের মতো), নিম্নলিখিতটি সাহায্য করতে পারে।

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

আশা করি এগুলি লোকেরা যখন এই প্রশ্নটিতে হোঁচট খায় তখন তাদের সমস্যাগুলি সমাধান করতে সহায়তা করবে।


1
তার জন্য আপনাকে অনেক ধন্যবাদ।
রাকিব আনসারী

@ ট্যাকটিক্যাল কোডার: হ্যাঁ, আপনাকে ধন্যবাদ এটি আমার দরিদ্র ইংরেজি। এখনই এটি সংশোধন করা হচ্ছে।
বরিস স্ট্রান্ডজেভ

আপনার আরএফসি 3986 লিঙ্কটি ভাঙা হয়েছে
ডুডঅনরক




3

দ্রুত চেহারা নিতে, আপনি এই অনলাইন সরঞ্জামটি ব্যবহার করে শতাংশ-এন / ডিকোড করতে পারেন ।


1
যদিও এই লিঙ্কটি প্রশ্নের উত্তর দিতে পারে, উত্তরের প্রয়োজনীয় অংশগুলি এখানে অন্তর্ভুক্ত করা এবং রেফারেন্সের জন্য লিঙ্কটি সরবরাহ করা ভাল। লিঙ্কযুক্ত পৃষ্ঠাগুলি পরিবর্তিত হলে লিঙ্ক-শুধুমাত্র উত্তরগুলি অবৈধ হতে পারে। - পর্যালোচনা থেকে
পিটার

@ পিটার ধন্যবাদ, তবে এটি শুধুমাত্র অনলাইন সরঞ্জামের একটি লিঙ্ক, যা এখানে সহায়ক হতে পারে। যেহেতু উত্তরগুলি ইতিমধ্যে সরবরাহ করা হয়েছিল সেখানে আরও ব্যাখ্যার প্রয়োজন নেই।
ক্রিজিসটফ প্রিজিগদা

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'] ];

এবং অ্যারেতে কোয়েরি ওয়ার্স পৃথক করার পদ্ধতি কী (পিএইচপি অন্তত)।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.