পোস্টম্যান ক্রোম: ফর্ম-ডেটা, x-www-form-urlencoded এবং কাঁচার মধ্যে পার্থক্য কী


222

আমি একটি ওয়েব পরিষেবা পরীক্ষার জন্য পোস্টম্যান ক্রোম এক্সটেনশন ব্যবহার করছি।

ডেটা ইনপুট জন্য তিনটি বিকল্প উপলব্ধ।

আমি অনুমান করি এটি rawJSON প্রেরণের জন্য।

অন্য দুটির মধ্যে পার্থক্য কী form-dataএবং x-www-form-urlencoded?


11
আজকের মতো পোস্টম্যান সরঞ্জামে ডেটা পোস্ট করার জন্য একটি চতুর্থ বিকল্প রয়েছে - binary
আরবিটি

উত্তর:


237

এগুলি ডাব্লু 3 সি দ্বারা সংজ্ঞায়িত করা ফর্মের বিভিন্ন ধরণের বিষয়। আপনি যদি সাধারণ পাঠ্য / ASCII ডেটা প্রেরণ করতে চান তবে x-www-form-urlencoded কাজ করবে। এটি ডিফল্ট।

তবে আপনাকে যদি নন-এএসসিআইআই পাঠ্য বা বড় বাইনারি ডেটা প্রেরণ করতে হয় তবে ফর্ম-ডেটা তার জন্য।

আপনি সরল পাঠ্য বা JSON বা অন্য কোনও ধরণের স্ট্রিং প্রেরণ করতে চাইলে আপনি কাঁচা ব্যবহার করতে পারেন । নামের মতো প্রস্তাবিত, পোস্টম্যান আপনার কাঁচা স্ট্রিং ডেটা কোনও পরিবর্তন ছাড়াই প্রেরণ করে। আপনি যে ধরণের ডেটা প্রেরণ করছেন তা ড্রপ ডাউন থেকে সামগ্রী-টাইপ শিরোনাম ব্যবহার করে সেট করা যেতে পারে।

আপনি যখন অনুরোধের সাথে অ-পাঠ্য ডেটা সংযুক্ত করতে চান তখন বাইনারি ব্যবহার করা যেতে পারে, যেমন একটি ভিডিও / অডিও ফাইল, চিত্র বা অন্য কোনও বাইনারি ডেটা ফাইল।

আরও পড়ার জন্য এই লিঙ্কটি দেখুন: এইচটিএমএল নথিগুলিতে ফর্ম


বাইনারি সম্পর্কে কি?
আরবিটি

আমার একটি ফর্ম রয়েছে যার 4 টি পাঠ্য ক্ষেত্র রয়েছে এবং 1 ফাইল আপলোড ক্ষেত্র এখন দয়া করে আমাকে পরামর্শ দিন কোন পোস্ট (পোস্ট-ডেটা বা x-www-form-urlencoded) পোস্টম্যানে এই 5 টি ক্ষেত্রের মূল্য জমা দেওয়ার জন্য ব্যবহৃত হবে? আগাম ধন্যবাদ.
কমলেশ

@ কমলেশ, দেরী জবাবের জন্য দুঃখিত, পোস্টম্যানের ফর্ম-ডেটার কী ক্ষেত্রের একটি ড্রপডাউন রয়েছে যেখানে আপনি এটি পাঠ্য ক্ষেত্র বা ফাইল কিনা তা নির্বাচন করতে পারেন। আপনি এটি ফাইলটিতে সেট করতে পারেন এবং তারপরে শরীরের সাথে সংযুক্ত করার জন্য একটি ফাইল ব্রাউজ করতে পারেন। আশা করি এইটি কাজ করবে.
বসন্ত সিং

87

এটি আরও ভাল ব্যাখ্যা করেছে: পোস্টম্যান ডক্স

অনুরোধ বডি

অনুরোধগুলি তৈরি করার সময়, আপনি অনুরোধের বডি এডিটরটির সাথে অনেকগুলি আচরণ করবেন। পোস্টম্যান আপনাকে প্রায় কোনও প্রকারের এইচটিটিপি অনুরোধ প্রেরণ করতে দেয় (আপনি যদি কিছু প্রেরণ করতে না পারেন তবে আমাদের জানান!)। বডি সম্পাদক 4 টি ভাগে বিভক্ত এবং শরীরের ধরণের উপর নির্ভর করে বিভিন্ন নিয়ন্ত্রণ রয়েছে।

ফর্ম-ডেটা

মাল্টিপার্ট / ফর্ম-ডেটা হ'ল ডেটা স্থানান্তর করতে ওয়েব ফর্মটি ডিফল্ট এনকোডিং। এটি কোনও ওয়েবসাইটে একটি ফর্ম পূরণ এবং জমা দেওয়ার অনুকরণ করে। ফর্ম-ডেটা সম্পাদক আপনাকে আপনার ডেটার জন্য কী / মান জোড় (কী-মান সম্পাদক ব্যবহার করে) সেট করতে দেয়। আপনি কীগুলিতে ফাইলগুলিও সংযুক্ত করতে পারেন। মনে রাখবেন যে এইচটিএমএল 5 টি সীমাবদ্ধতার কারণে ফাইলগুলি ইতিহাস বা সংগ্রহগুলিতে সঞ্চয় করা হয় না। একটি অনুরোধ প্রেরণের সময় আপনাকে আবার ফাইলটি নির্বাচন করতে হবে।

urlencoded

এই এনকোডিংটি ইউআরএল প্যারামিটারে ব্যবহৃত একটির মতো। আপনাকে কেবল কী / মান জোড়া লিখতে হবে এবং পোস্টম্যান কী এবং মানগুলি সঠিকভাবে এনকোড করবে। মনে রাখবেন আপনি এই এনকোডিং মোডের মাধ্যমে ফাইলগুলি আপলোড করতে পারবেন না। ফর্ম-ডেটা এবং urlencoded এর মধ্যে কিছু বিভ্রান্তি থাকতে পারে তাই আপনার API টি দিয়ে প্রথমে পরীক্ষা করে নেওয়ার বিষয়টি নিশ্চিত করুন।

কাঁচা

একটি কাঁচা অনুরোধ কিছু থাকতে পারে। পোস্টম্যান পরিবেশের ভেরিয়েবলগুলি প্রতিস্থাপন করা ছাড়া কাঁচা সম্পাদকটিতে প্রবেশ করা স্ট্রিংটিকে স্পর্শ করে না। আপনি পাঠ্য অঞ্চলে যা কিছু রাখুন অনুরোধের সাথে পাঠানো হবে। কাঁচা সম্পাদক আপনাকে সঠিক শিরোনামের সাথে ফর্ম্যাটিং টাইপ সেট করতে দেয় যা আপনার কাঁচা বডি সহ প্রেরণ করা উচিত। আপনি নিজেও কন্টেন্ট-টাইপ শিরোনাম সেট করতে পারেন। সাধারণত আপনি এখানে XML বা JSON ডেটা প্রেরণ করবেন।

বাইনারি

বাইনারি ডেটা আপনাকে এমন জিনিস পাঠাতে দেয় যা আপনি পোস্টম্যানে প্রবেশ করতে পারবেন না। উদাহরণস্বরূপ, চিত্র, অডিও বা ভিডিও ফাইল। আপনি পাঠ্য ফাইলও প্রেরণ করতে পারেন। ফর্ম-ডেটা বিভাগে পূর্বে উল্লিখিত হিসাবে, আপনি যদি ইতিহাস বা সংগ্রহের মাধ্যমে কোনও অনুরোধ লোড করে থাকেন তবে আপনাকে কোনও ফাইল পুনরায় সংযুক্ত করতে হবে।

হালনাগাদ

ভি কে কে দ্বারা নির্দেশিত হিসাবে , WHATWG স্পেক বলছে urlencoded হ'ল ফর্মগুলির জন্য ডিফল্ট এনকোডিং প্রকার।

এই বৈশিষ্ট্যের জন্য অবৈধ মান ডিফল্ট হ'ল অ্যাপ্লিকেশন / x-www-form-urlencoded অবস্থা। এনটাইপ বৈশিষ্ট্যের জন্য অনুপস্থিত মান ডিফল্ট হ'ল অ্যাপ্লিকেশন / এক্স-www-ফর্ম-urlncoded স্থিতি।


5
পোস্টম্যান ডকটি ভুল। WHATWG এর HTML5 এর এ উপলব্ধ বৈশিষ্ট html.spec.whatwg.org/multipage/... পরিষ্কারভাবে "অ্যাপ্লিকেশন / এক্স-WWW-ফর্ম-urlencoded" ফর্ম উপাদানের enctype অ্যাট্রিবিউট জন্য ডিফল্ট মান সংজ্ঞায়িত করে। অন্য কথায় "অ্যাপ্লিকেশন / x-www-form-urlencoded" হ'ল ডিফল্ট এনকোডিং (HTTP পদে বিষয়বস্তু-প্রকারে) কোনও ওয়েব ফর্ম ডেটা স্থানান্তর করতে ব্যবহার করে, মাল্টিপার্ট / ফর্ম-ডেটা নয়। মাল্টিপার্ট / ফর্ম-ডেটার একটি সামগ্রী ধরণের সহ ফর্ম জমা দেওয়ার জন্য এইচটিটিপি পোস্ট অনুরোধ প্রেরণ করতে, অবশ্যই এটিকে এনটাইপ মান হিসাবে স্পষ্টভাবে নির্দিষ্ট করতে হবে।
ভিকেকে

সুতরাং শিরোনামের সাথে প্রেরণ করা ফর্ম-ডেটা (পোস্টম্যান ইউআই-তে কী-মান জোড়ার সাথে প্রবেশ করা) এর মধ্যে পার্থক্য কী Content-Type: application/json; এবং কাঁচা তথ্য {foo: bar}একই Content-Type: application/jsonশিরোলেখের মতো জসন হিসাবে প্রবেশ করেছে ?
ইনিগো

মূল মান জোড় হিসাবে ফর্ম-ডেটা সহ সামগ্রী-প্রকারটি মাল্টিপার্ট ফর্ম-ডেটা এমনকি যখন আপনি শিরোনাম নির্দিষ্ট করে থাকেন এবং কাঁচা সামগ্রী-প্রকারের সাথে পাঠ্য বা আপনি যা শিরোনামে নির্দিষ্ট করেছেন তা হবে।
এভ্যাক

20

একাধিক / ফর্ম-ডেটা

বিঃদ্রঃ. আরএফসি 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 অক্ষর ধারণকারী বৃহত পরিমাণে পাঠানোর জন্য অদক্ষ হয়। "মাল্টিপার্ট / ফর্ম-ডেটা" বিষয়বস্তু ফাইলগুলিতে ফর্ম জমা দেওয়ার জন্য ব্যবহার করা উচিত যা নন-এএসসিআইআই ডেটা এবং বাইনারি ডেটা ধারণ করে।


15

পোস্টম্যান অনুরোধে যে কাঁচা টেক্সট পাঠায় তা দেখার জন্য এখানে কিছু পরিপূরক উদাহরণ রয়েছে। আপনি পোস্টম্যান কনসোলটি খোলার মাধ্যমে এটি দেখতে পারবেন:

এখানে চিত্র বর্ণনা লিখুন

ফর্ম-ডেটা

শিরোলেখ

content-type: multipart/form-data; boundary=--------------------------590299136414163472038474

শরীর

key1=value1key2=value2

এক্স-WWW-ফর্ম-urlencoded

শিরোলেখ

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