পাইথন অনুরোধ: আপনার জানা দরকার



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

পাইথন প্রতিদিন প্রায় 400,000 ডাউনলোডের জন্য ব্যাগটি অনুরোধ করে। এই জনপ্রিয়তা সম্পর্কে বুঝতে এই সংখ্যাটি যথেষ্ট স্পষ্ট । সাম্প্রতিক বছরগুলিতে, পাইথন প্রোগ্রামিং ভাষা অনেক বিকাশকারীদের জন্য সর্বাধিক কাঙ্ক্ষিত প্রোগ্রামিং ভাষা হয়ে উঠেছে। অনুরোধগুলির মতো ধারণাগুলি এবং গ্রন্থাগারগুলি বিকাশকারীদের অন্যান্য প্রোগ্রামিং ভাষা থেকে অজগরে রূপান্তরিত করার অনেক কারণগুলির মধ্যে একটি। এই ব্লগে, আমরা নিম্নলিখিত বিষয়গুলি নিয়ে যাব:

পাইথন অনুরোধ কি?

পাইথন অনুরোধগুলি কেনেথ রেটিজ লিখেছিলেন এবং অ্যাপাচি ২.০ এর অধীনে লাইসেন্স করেছিলেন। এটি একটি মানব বান্ধব এইচটিটিপি লাইব্রেরি হিসাবে এটি অফিসিয়াল ডকুমেন্টেশন পৃষ্ঠায় উল্লেখ করা হয়েছে। এটি ব্যবহার করা সহজ এবং মূলত সমস্ত প্রকারের এইচটিটিপি অনুরোধ করার জন্য ব্যবহৃত হয়। নীচে কয়েকটি উন্নত বৈশিষ্ট্য যা অনুরোধগুলির সাথে আসে:
  1. বাঁচা এবং সংযোগ পুলিং
  2. আন্তর্জাতিক ডোমেন এবং url
  3. কুকি অধ্যবসায়ের সাথে সেশনস
  4. ব্রাউজার-স্টাইলের SSL যাচাইকরণ
  5. স্বয়ংক্রিয় সামগ্রী ডিকোডিং
  6. বেসিক / ডাইজেস্ট প্রমাণীকরণ
  7. মার্জিত কী / মান কুকি
  8. স্বয়ংক্রিয় decompression
  9. ইউনিকোড প্রতিক্রিয়া সংস্থা
  10. HTTP গুলি প্রক্সি সমর্থন
  11. মাল্টিপার্ট ফাইল আপলোড
  12. স্ট্রিমিং ডাউনলোডগুলি
  13. সংযোগের সময়সীমা
  14. খণ্ডিত অনুরোধ
এগুলি পাইথন অনুরোধ গ্রন্থাগারের সমস্ত উন্নত বৈশিষ্ট্য, আমরা প্রথমে পাইথন অনুরোধগুলি কেন ব্যবহার করি তা বোঝার চেষ্টা করি।

পাইথন অনুরোধগুলি কেন ব্যবহার করবেন?

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

পাইথন অনুরোধগুলি কীভাবে ইনস্টল করবেন?

ইনস্টলেশন অংশটি খুব সহজ। যদি আপনার সিস্টেমে পাইপেনভ সেটআপ ইনস্টল থাকে তবে আপনি টার্মিনালে কেবল নিম্নলিখিত কমান্ডটি চালাতে পারবেন।

$ পাইপ ইনস্টল অনুরোধ

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

কীভাবে অনুরোধ পাবেন এবং পোস্ট করুন?

অনুরোধটি পান মূলত সার্ভার থেকে ডেটা অনুরোধ করার জন্য ব্যবহৃত হয়। নীচে একটি অনুরোধ তৈরি করার বাক্য গঠন রইল।
অনুরোধগুলি আমদানি করুন রেজি = অনুরোধ.কে ('ইউআরএল') # এখানে এখানে প্রতিক্রিয়া অবজেক্ট।
সার্ভারে প্রক্রিয়া করার জন্য ডেটা জমা দেওয়ার জন্য পোস্ট অনুরোধ ব্যবহার করা হয়। নীচে একটি পোস্ট অনুরোধ করতে বাক্য গঠন আছে।
আমদানির অনুরোধগুলি পেলোড = {'কী 1': 'মান 1'} রেস = অনুরোধ.পস্ট ('ইউআরএল', ডেটা = পেইলড)
এখন আমরা কীভাবে অনুরোধগুলি পেতে এবং পোস্ট করতে পারি তা আমরা জানি, কীভাবে অনুরোধটি ব্যবহার করে আমরা ইউআরএলগুলিতে পরামিতিগুলি পাস করতে পারি তা একবার দেখে নেওয়া যাক।

একটি url এ প্যারামিটারগুলি পাস করা

ইউআরএলটিতে প্যারামিটারগুলি পাস করার অনুরোধটি পাওয়ার অনুরোধ হিসাবে সহজ। ইউআরএলে পরামিতিগুলি পাস করার জন্য নিম্নলিখিতটি একটি উদাহরণ।
আমদানির অনুরোধগুলি পেলোড = {'কী 1': 'মান 1', 'কী 2': 'মান 2'} রেস = অনুরোধ.জেট ('ইউআরএল', প্যারামস = পেইলড) মুদ্রণ (পুনর্নির্মাণ) # এই প্যারামিটারগুলির সাথে ইউআরএল প্রিন্ট করবে পেতে অনুরোধ মাধ্যমে পাস।

স্থিতি কোড

আমরা স্থিতি কোডটিও চেক করতে পারি, স্থিতি কোডটি যাচাই করার জন্য নিম্নলিখিত কোডটি রয়েছে:





অনুরোধগুলি আমদানি করুন = অনুরোধ.জেট ('url') মুদ্রণ (res.status_code ())
যদি কোডটি 200 ফেরত দেয় তবে এর অর্থ কোনও ত্রুটি নেই এবং অনুরোধটি সব ঠিক আছে। যদি আমরা কোনও খারাপ অনুরোধ করি তবে কোডটি 404 বা 505 এর মতো কোডটি ফিরিয়ে দেবে যা কোনও HTTP ত্রুটি বাড়িয়ে তুলবে।

প্রতিক্রিয়া সামগ্রী

আমরা সার্ভারের প্রতিক্রিয়ার সামগ্রীগুলিও পড়তে পারি। লাইব্রেরিটি স্বয়ংক্রিয়ভাবে সার্ভার থেকে সামগ্রীটি ডিকোড করবে।
অনুরোধগুলি আমদানি করুন = অনুরোধ.জেট ('ইউআরএল') মুদ্রণ (রেজকমেন্ট)

অনুরোধগুলির একটি বিল্টিন জসন ডিকোডারও রয়েছে।

অনুরোধগুলি আমদানি করুন = অনুরোধ করুন।

মাল্টি-পার্ট ফাইল আপলোড

অনুরোধগুলি ব্যবহার করে মাল্টি-পার্ট ফাইলগুলি আপলোড করা খুব সহজ।
ফাইলগুলি আমদানি করুন ফাইল = {'ফাইল': খুলুন ('ফাইলের নাম', 'আরবি')} রেজ্য = অনুরোধ.পোস্ট ('ইউআরএল', ফাইলগুলি = ফাইল) মুদ্রণ (পুনর্নির্মাণ)
একাধিক ফাইল প্রেরণের জন্য আমরা ফাইল প্যারামিটারে একাধিক ফাইল নির্দিষ্ট করব।

কুকিজ এবং শিরোনাম

আমরা সার্ভারের প্রতিক্রিয়া শিরোনাম এবং প্রতিক্রিয়া অবজেক্টটি ব্যবহার করে কুকিজ দেখতে পারি। সার্ভারের শিরোনামগুলি দেখার কোডটি নীচে দেওয়া হল।
অনুরোধগুলি আমদানি করুন = অনুরোধ.জেট ('ইউআরএল') মুদ্রণ (রেস.হেডার্স)
আমরা ইউআরএলটিতেও কাস্টম শিরোনামগুলি পাস করতে পারি। কোডটি একবার দেখুন।
আমদানির অনুরোধ শিরোনাম = {'কী 1': 'মান 1'} রেস = অনুরোধ.জেট ('ইউআরএল', শিরোনাম = শিরোনাম) মুদ্রণ (রেসহেডার)
অনুরোধগুলি কাস্টম শিরোনামের ভিত্তিতে এর আচরণ পরিবর্তন করে না। এগুলি কেবল চূড়ান্ত অনুরোধের উপর পাস করা হয়। কুকি প্রতিক্রিয়া অবজেক্ট ব্যবহার করেও দেখা যায়।
আমদানি অনুরোধ # আমাদের নিজস্ব কুকিজ পাস করার জন্য আমরা কুকিজের প্যারামিটার কুকিজ = ডিক (কুকিজ = 'কাজ') ব্যবহার করতে পারি = অনুরোধ.আর ('ইউআরএল', কুকিজ = কুকিজ) মুদ্রণ (পুনর্নির্মাণ)

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



একটি জাভা বর্গ জন্য উদাহরণ ডেটা

সেশন অবজেক্ট

সেশন অবজেক্ট আপনাকে অনুরোধগুলি জুড়ে নির্দিষ্ট পরামিতিগুলি ধরে রাখতে দেয়।
  • অধিবেশন উদাহরণ থেকে করা সমস্ত অনুরোধ জুড়ে কুকি রয়েছে
  • Urllib3 সংযোগ পুলিং ব্যবহার করুন
  • উল্লেখযোগ্য পারফরম্যান্স বৃদ্ধি
  • একটি সেশন অবজেক্টে মূল অনুরোধগুলির এপিআইয়ের সমস্ত পদ্ধতি রয়েছে
অনুরোধ জুড়ে কিছু কুকিজ অব্যাহত রাখার জন্য কোডটি নীচে দেওয়া হল।
s = અરજી.অ্যাসিওশন () s.get ('url') res = s.get ('url') মুদ্রণ (res.text)

ত্রুটি এবং ব্যতিক্রম

অজগর অনুরোধে উত্থাপিত ত্রুটিগুলি এবং ব্যতিক্রমগুলি নীচে নিম্নরূপ।
  • নেটওয়ার্ক সমস্যার ক্ষেত্রে, অনুরোধগুলি একটি সংযোগেরর ব্যতিক্রম বাড়িয়ে তুলবে।
  • রেসপন্স.রেজ_ফোর্ড_স্যাটাস () একটি অসফল অবস্থা স্থিতি কোড থাকলে একটি HTTP ত্রুটি উত্থাপন করবে।
  • যদি কোনও টাইমআউট হয় তবে এটি একটি টাইমআউট ব্যতিক্রম বাড়িয়ে তুলবে
  • অনুরোধটি সর্বাধিক সংখ্যক পুনর্নির্দেশের সংখ্যার কনফিগার করা সংখ্যাকে অতিক্রম করলে TooManyRedirects ব্যতিক্রম উত্থাপিত হয়।
এই ব্লগে আমরা পাইথন অনুরোধগুলির মডিউলটি নিয়ে আলোচনা করেছি যাতে আমাদের বিভিন্ন উন্নত বৈশিষ্ট্য রয়েছে। পাইথনের অনুরোধ লাইব্রেরিতে প্রতিক্রিয়া সামগ্রী এবং অন্যান্য ধারণাগুলির সাথে আমরা ইনস্টলেশন এবং একটি অনুরোধ তৈরি এবং পোস্ট করার বিষয়ে আলোচনা করেছি। পাইথন অনুরোধগুলির মডিউল এর বাক্স বৈশিষ্ট্যগুলির মধ্যে অনেকগুলি অসাধারণ অজগর প্রোগ্রামিং ভাষা । আপনি নাম নথিভুক্ত করে আপনার শিক্ষার সূত্রপাত করতে পারেন এবং পাইথন প্রোগ্রামিং ভাষার সম্ভাবনাগুলি আবিষ্কার করুন। কোন প্রশ্ন আছে? মন্তব্য বিভাগে তাদের উল্লেখ করুন, আমরা আপনার কাছে ফিরে আসব।