আমি একটি ওয়েব পরিষেবা পরীক্ষার জন্য পোস্টম্যান ক্রোম এক্সটেনশন ব্যবহার করছি।
ডেটা ইনপুট জন্য তিনটি বিকল্প উপলব্ধ।
আমি অনুমান করি এটি raw
JSON প্রেরণের জন্য।
অন্য দুটির মধ্যে পার্থক্য কী form-data
এবং x-www-form-urlencoded
?
আমি একটি ওয়েব পরিষেবা পরীক্ষার জন্য পোস্টম্যান ক্রোম এক্সটেনশন ব্যবহার করছি।
ডেটা ইনপুট জন্য তিনটি বিকল্প উপলব্ধ।
আমি অনুমান করি এটি raw
JSON প্রেরণের জন্য।
অন্য দুটির মধ্যে পার্থক্য কী form-data
এবং x-www-form-urlencoded
?
উত্তর:
এগুলি ডাব্লু 3 সি দ্বারা সংজ্ঞায়িত করা ফর্মের বিভিন্ন ধরণের বিষয়। আপনি যদি সাধারণ পাঠ্য / ASCII ডেটা প্রেরণ করতে চান তবে x-www-form-urlencoded কাজ করবে। এটি ডিফল্ট।
তবে আপনাকে যদি নন-এএসসিআইআই পাঠ্য বা বড় বাইনারি ডেটা প্রেরণ করতে হয় তবে ফর্ম-ডেটা তার জন্য।
আপনি সরল পাঠ্য বা JSON বা অন্য কোনও ধরণের স্ট্রিং প্রেরণ করতে চাইলে আপনি কাঁচা ব্যবহার করতে পারেন । নামের মতো প্রস্তাবিত, পোস্টম্যান আপনার কাঁচা স্ট্রিং ডেটা কোনও পরিবর্তন ছাড়াই প্রেরণ করে। আপনি যে ধরণের ডেটা প্রেরণ করছেন তা ড্রপ ডাউন থেকে সামগ্রী-টাইপ শিরোনাম ব্যবহার করে সেট করা যেতে পারে।
আপনি যখন অনুরোধের সাথে অ-পাঠ্য ডেটা সংযুক্ত করতে চান তখন বাইনারি ব্যবহার করা যেতে পারে, যেমন একটি ভিডিও / অডিও ফাইল, চিত্র বা অন্য কোনও বাইনারি ডেটা ফাইল।
আরও পড়ার জন্য এই লিঙ্কটি দেখুন: এইচটিএমএল নথিগুলিতে ফর্ম
এটি আরও ভাল ব্যাখ্যা করেছে: পোস্টম্যান ডক্স
অনুরোধ বডি
অনুরোধগুলি তৈরি করার সময়, আপনি অনুরোধের বডি এডিটরটির সাথে অনেকগুলি আচরণ করবেন। পোস্টম্যান আপনাকে প্রায় কোনও প্রকারের এইচটিটিপি অনুরোধ প্রেরণ করতে দেয় (আপনি যদি কিছু প্রেরণ করতে না পারেন তবে আমাদের জানান!)। বডি সম্পাদক 4 টি ভাগে বিভক্ত এবং শরীরের ধরণের উপর নির্ভর করে বিভিন্ন নিয়ন্ত্রণ রয়েছে।
ফর্ম-ডেটা
মাল্টিপার্ট / ফর্ম-ডেটা হ'ল ডেটা স্থানান্তর করতে ওয়েব ফর্মটি ডিফল্ট এনকোডিং।এটি কোনও ওয়েবসাইটে একটি ফর্ম পূরণ এবং জমা দেওয়ার অনুকরণ করে। ফর্ম-ডেটা সম্পাদক আপনাকে আপনার ডেটার জন্য কী / মান জোড় (কী-মান সম্পাদক ব্যবহার করে) সেট করতে দেয়। আপনি কীগুলিতে ফাইলগুলিও সংযুক্ত করতে পারেন। মনে রাখবেন যে এইচটিএমএল 5 টি সীমাবদ্ধতার কারণে ফাইলগুলি ইতিহাস বা সংগ্রহগুলিতে সঞ্চয় করা হয় না। একটি অনুরোধ প্রেরণের সময় আপনাকে আবার ফাইলটি নির্বাচন করতে হবে।urlencoded
এই এনকোডিংটি ইউআরএল প্যারামিটারে ব্যবহৃত একটির মতো। আপনাকে কেবল কী / মান জোড়া লিখতে হবে এবং পোস্টম্যান কী এবং মানগুলি সঠিকভাবে এনকোড করবে। মনে রাখবেন আপনি এই এনকোডিং মোডের মাধ্যমে ফাইলগুলি আপলোড করতে পারবেন না। ফর্ম-ডেটা এবং urlencoded এর মধ্যে কিছু বিভ্রান্তি থাকতে পারে তাই আপনার API টি দিয়ে প্রথমে পরীক্ষা করে নেওয়ার বিষয়টি নিশ্চিত করুন।
কাঁচা
একটি কাঁচা অনুরোধ কিছু থাকতে পারে। পোস্টম্যান পরিবেশের ভেরিয়েবলগুলি প্রতিস্থাপন করা ছাড়া কাঁচা সম্পাদকটিতে প্রবেশ করা স্ট্রিংটিকে স্পর্শ করে না। আপনি পাঠ্য অঞ্চলে যা কিছু রাখুন অনুরোধের সাথে পাঠানো হবে। কাঁচা সম্পাদক আপনাকে সঠিক শিরোনামের সাথে ফর্ম্যাটিং টাইপ সেট করতে দেয় যা আপনার কাঁচা বডি সহ প্রেরণ করা উচিত। আপনি নিজেও কন্টেন্ট-টাইপ শিরোনাম সেট করতে পারেন। সাধারণত আপনি এখানে XML বা JSON ডেটা প্রেরণ করবেন।
বাইনারি
বাইনারি ডেটা আপনাকে এমন জিনিস পাঠাতে দেয় যা আপনি পোস্টম্যানে প্রবেশ করতে পারবেন না। উদাহরণস্বরূপ, চিত্র, অডিও বা ভিডিও ফাইল। আপনি পাঠ্য ফাইলও প্রেরণ করতে পারেন। ফর্ম-ডেটা বিভাগে পূর্বে উল্লিখিত হিসাবে, আপনি যদি ইতিহাস বা সংগ্রহের মাধ্যমে কোনও অনুরোধ লোড করে থাকেন তবে আপনাকে কোনও ফাইল পুনরায় সংযুক্ত করতে হবে।
হালনাগাদ
ভি কে কে দ্বারা নির্দেশিত হিসাবে , WHATWG স্পেক বলছে urlencoded হ'ল ফর্মগুলির জন্য ডিফল্ট এনকোডিং প্রকার।
এই বৈশিষ্ট্যের জন্য অবৈধ মান ডিফল্ট হ'ল অ্যাপ্লিকেশন / x-www-form-urlencoded অবস্থা। এনটাইপ বৈশিষ্ট্যের জন্য অনুপস্থিত মান ডিফল্ট হ'ল অ্যাপ্লিকেশন / এক্স-www-ফর্ম-urlncoded স্থিতি।
Content-Type: application/json
; এবং কাঁচা তথ্য {foo: bar}
একই Content-Type: application/json
শিরোলেখের মতো জসন হিসাবে প্রবেশ করেছে ?
একাধিক / ফর্ম-ডেটা
বিঃদ্রঃ. আরএফসি 2388 এর সাথে পরামর্শ করুনব্যাকওয়ার্ড সামঞ্জস্যতা সমস্যাগুলি, "মাল্টিপার্ট / ফর্ম-ডেটা" এবং অন্যান্য সামগ্রীর ধরণ, পারফরম্যান্স ইস্যু ইত্যাদিসহ ফাইল আপলোড সম্পর্কিত অতিরিক্ত তথ্যের জন্য
ফর্মগুলির জন্য সুরক্ষা সমস্যা সম্পর্কিত তথ্যের জন্য পরিশিষ্টের পরামর্শ করুন consult
"অ্যাপ্লিকেশন / x-www-form-urlencoded" বিষয়বস্তু ধরণের বৃহত পরিমাণে বাইনারি ডেটা বা পাঠানো-না-ASCII অক্ষরযুক্ত পাঠ্য অক্ষম। "মাল্টিপার্ট / ফর্ম-ডেটা" বিষয়বস্তু ফাইলগুলিতে ফর্ম জমা দেওয়ার জন্য ব্যবহার করা উচিত যা নন-এএসসিআইআই ডেটা এবং বাইনারি ডেটা ধারণ করে।
"মাল্টিপার্ট / ফর্ম-ডেটা" বিষয়বস্তু আরএফসি2045 তে বর্ণিত সমস্ত মাল্টার্ড এমএমআই ডেটা স্ট্রিমের নিয়ম অনুসরণ করে । "মাল্টিপার্ট / ফর্ম-ডেটা" সংজ্ঞাটি [আইএএনএ] রেজিস্ট্রিতে উপলব্ধ।
একটি "মাল্টিপার্ট / ফর্ম-ডেটা" বার্তায় একটি ধারাবাহিক অংশ থাকে যা প্রতিটি একটি সফল নিয়ন্ত্রণের প্রতিনিধিত্ব করে। অংশগুলি একই ক্রমে প্রসেসিং এজেন্টকে প্রেরণ করা হয় যার সাথে সংশ্লিষ্ট নিয়ন্ত্রণগুলি নথির প্রবাহে উপস্থিত হয়। অংশের সীমানা কোনও ডেটাতে হওয়া উচিত নয়; এটি কীভাবে করা হয় তা এই স্পেসিফিকেশনের আওতার বাইরে।
সমস্ত মাল্টিপার্ট এমআইএমআই টাইপের মতো, প্রতিটি অংশে একটি alচ্ছিক "সামগ্রী-প্রকার" শিরোনাম রয়েছে যা "পাঠ্য / প্লেইন" -এ ডিফল্ট হয়। ব্যবহারকারী এজেন্টদের "চার্টসেট" পরামিতি সহ "সামগ্রী-প্রকার" শিরোনাম সরবরাহ করা উচিত।
আবেদন / এক্স-WWW-ফর্ম-urlencoded
এটি ডিফল্ট সামগ্রীর ধরণ। এই বিষয়বস্তুর প্রকারের সাথে জমা দেওয়া ফর্মগুলি অবশ্যই নীচে এনকোড করা উচিত:
নাম এবং মানগুলি রক্ষা পায়। স্থানের অক্ষরগুলি +', and then reserved characters are escaped as described in [RFC1738], section 2.2: Non-alphanumeric characters are replaced by
% HH ' দ্বারা প্রতিস্থাপিত হয় , একটি শতাংশ চিহ্ন এবং অক্ষরের ASCII কোড উপস্থাপন করে দুটি হেক্সাডেসিমাল অঙ্ক। লাইন বিরতিগুলি "সিআর এলএফ" জোড়া হিসাবে উপস্থাপিত হয় (যেমন, %0D%0A').
The control names/values are listed in the order they appear in the document. The name is separated from the value by
= 'এবং নাম / মান জোড়া একে অপরের থেকে `&' দ্বারা পৃথক করা হয়।
application/x-www-form-urlencoded
সার্ভারে প্রেরিত HTTP বার্তার মূল অংশটি মূলত একটি দৈত্য ক্যোয়ারী স্ট্রিং - নাম / মান জোড়গুলি এম্পারস্যান্ড (&) দ্বারা পৃথক করা হয়, এবং নামগুলি সমান চিহ্ন (=) দ্বারা পৃথক করা হয়। এর উদাহরণ হ'ল:
MyVariableOne=ValueOne&MyVariableTwo=ValueTwo
বিষয়বস্তুর প্রকার "অ্যাপ্লিকেশন / এক্স-WWW-ফর্ম-urlencoded" বাইনারি ডেটা বা পাঠ্য নন- ASCII অক্ষর ধারণকারী বৃহত পরিমাণে পাঠানোর জন্য অদক্ষ হয়। "মাল্টিপার্ট / ফর্ম-ডেটা" বিষয়বস্তু ফাইলগুলিতে ফর্ম জমা দেওয়ার জন্য ব্যবহার করা উচিত যা নন-এএসসিআইআই ডেটা এবং বাইনারি ডেটা ধারণ করে।
পোস্টম্যান অনুরোধে যে কাঁচা টেক্সট পাঠায় তা দেখার জন্য এখানে কিছু পরিপূরক উদাহরণ রয়েছে। আপনি পোস্টম্যান কনসোলটি খোলার মাধ্যমে এটি দেখতে পারবেন:
শিরোলেখ
content-type: multipart/form-data; boundary=--------------------------590299136414163472038474
শরীর
key1=value1key2=value2
শিরোলেখ
Content-Type: application/x-www-form-urlencoded
শরীর
key1=value1&key2=value2
শিরোলেখ
Content-Type: text/plain
শরীর
This is some text.
শিরোলেখ
Content-Type: application/json
শরীর
{"key1":"value1","key2":"value2"}
binary
।