কম্পিউটার

পাইথন CGI প্রোগ্রামিং এ GET এবং POST এর মধ্যে পার্থক্য কি?


পান এবং পোস্ট করার পদ্ধতি

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

GET পদ্ধতি ব্যবহার করে তথ্য পাস করা

GET পদ্ধতিটি পৃষ্ঠার অনুরোধে যুক্ত এনকোড করা ব্যবহারকারীর তথ্য পাঠায়। পৃষ্ঠা এবং এনকোড করা তথ্য দ্বারা পৃথক করা হয়? অক্ষর নিম্নরূপ −

https://www.test.com/cgi-bin/hello.py?key1=value1&key2=value2

GET পদ্ধতি হল ব্রাউজার থেকে ওয়েব সার্ভারে তথ্য পাঠানোর ডিফল্ট পদ্ধতি এবং এটি একটি দীর্ঘ স্ট্রিং তৈরি করে যা আপনার ব্রাউজারের অবস্থান:বক্সে প্রদর্শিত হয়। সার্ভারে পাস করার জন্য আপনার কাছে পাসওয়ার্ড বা অন্যান্য সংবেদনশীল তথ্য থাকলে কখনোই GET পদ্ধতি ব্যবহার করবেন না। GET পদ্ধতির আকারের সীমাবদ্ধতা রয়েছে:শুধুমাত্র 1024 টি অক্ষর একটি অনুরোধ স্ট্রিংয়ে পাঠানো যেতে পারে। GET পদ্ধতিটি QUERY_STRING হেডার ব্যবহার করে তথ্য পাঠায় এবং QUERY_STRING এনভায়রনমেন্ট ভেরিয়েবলের মাধ্যমে আপনার CGI প্রোগ্রামে অ্যাক্সেসযোগ্য হবে।

আপনি যেকোন ইউআরএলের সাথে কেবল কী এবং মান জোড়া সংযুক্ত করে তথ্য পাস করতে পারেন অথবা আপনি GET পদ্ধতি ব্যবহার করে তথ্য পাস করতে HTML

ট্যাগ ব্যবহার করতে পারেন।

সাধারণ ইউআরএল উদাহরণ - পদ্ধতি পান

এখানে একটি সাধারণ URL আছে, যা GET পদ্ধতি ব্যবহার করে hello_get.py প্রোগ্রামে দুটি মান পাস করে।

/cgi-bin/hello_get.py?first_name=ZARA&last_name=ALI

ওয়েব ব্রাউজার দ্বারা প্রদত্ত ইনপুট পরিচালনা করার জন্য নীচে hello_get.py স্ক্রিপ্ট রয়েছে৷ আমরা cgi মডিউল ব্যবহার করতে যাচ্ছি, যা পাস করা তথ্য অ্যাক্সেস করা খুব সহজ করে −

#!/usr/bin/python# CGI হ্যান্ডলিং import cgi-এর জন্য আমদানি মডিউল, cgitb# FieldStorageform এর উদাহরণ তৈরি করুন =cgi.FieldStorage()# fieldsfirst_name =form.getvalue('first_name') last_name =form থেকে ডেটা পান। ('last_name')প্রিন্ট "Content-type:text/html\r\n\r\n"মুদ্রণ ""মুদ্রণ ""মুদ্রণ" হ্যালো - দ্বিতীয় CGI প্রোগ্রাম" প্রিন্ট ""print""print"

হ্যালো %s %s

" % (first_name, last_name)print ""print" " পূর্বে>

এটি নিম্নলিখিত ফলাফল তৈরি করবে −

হ্যালো জারা আলি

সাধারণ ফর্মের উদাহরণ − GET পদ্ধতি

এই উদাহরণটি HTML ফর্ম এবং জমা বোতাম ব্যবহার করে দুটি মান পাস করে৷ এই ইনপুটটি পরিচালনা করতে আমরা একই CGI স্ক্রিপ্ট hello_get.py ব্যবহার করি৷

প্রথম নাম: 
শেষ নাম:<ইনপুট প্রকার ="জমা দিন" মান ="জমা দিন" />

এখানে উপরের ফর্মের আসল আউটপুট রয়েছে, আপনি প্রথম এবং শেষ নাম লিখুন এবং তারপর ফলাফল দেখতে সাবমিট বোতামে ক্লিক করুন৷

প্রথম নাম:শেষ নাম:জমা দিন

পোস্ট পদ্ধতি ব্যবহার করে তথ্য পাস করা

সাধারণত একটি CGI প্রোগ্রামে তথ্য পাঠানোর একটি আরো নির্ভরযোগ্য পদ্ধতি হল POST পদ্ধতি। এটি GET পদ্ধতির মতোই তথ্যগুলিকে প্যাকেজ করে, তবে এটিকে একটি টেক্সট স্ট্রিং হিসাবে পাঠানোর পরিবর্তে? URL-এ এটি একটি পৃথক বার্তা হিসাবে পাঠায়। এই বার্তাটি স্ট্যান্ডার্ড ইনপুট আকারে CGI স্ক্রিপ্টে আসে।

নীচে একই hello_get.py স্ক্রিপ্ট রয়েছে যা GET এবং POST পদ্ধতি পরিচালনা করে৷

#!/usr/bin/python# CGI হ্যান্ডলিং import cgi-এর জন্য আমদানি মডিউল, cgitb# FieldStorageform এর উদাহরণ তৈরি করুন =cgi.FieldStorage()# fieldsfirst_name =form.getvalue('first_name') last_name =form থেকে ডেটা পান। ('last_name')প্রিন্ট "Content-type:text/html\r\n\r\n"মুদ্রণ ""মুদ্রণ ""মুদ্রণ" হ্যালো - দ্বিতীয় CGI প্রোগ্রাম" প্রিন্ট ""print""print"

হ্যালো %s %s

" % (first_name, last_name)print ""print" " পূর্বে>

আসুন আমরা আবার উপরের মতো একই উদাহরণ নেওয়া যাক যা HTML ফর্ম এবং সাবমিট বোতাম ব্যবহার করে দুটি মান পাস করে। এই ইনপুটটি পরিচালনা করতে আমরা একই CGI স্ক্রিপ্ট hello_get.py ব্যবহার করি৷

প্রথম নাম:
শেষ নাম:<ইনপুট প্রকার ="জমা দিন" মান ="জমা দিন" />

এখানে উপরের ফর্মের আসল আউটপুট আছে। আপনি প্রথম এবং শেষ নাম লিখুন এবং তারপর ফলাফল দেখতে সাবমিট বোতামে ক্লিক করুন।

প্রথম নাম:শেষ নাম:জমা দিন


  1. HTML এ GET এবং POST পদ্ধতির মধ্যে পার্থক্য

  2. HTTP প্রোটোকলে GET এবং POST পদ্ধতির মধ্যে পার্থক্য কী?

  3. Tkinter(Python) এ root.destroy() এবং root.quit() এর মধ্যে পার্থক্য কি?

  4. পাইথনে tkinter এবং tkinter.ttk-এর উইজেটগুলির মধ্যে পার্থক্য কী?