در دنیای توسعه نرم‌افزار، ارتباط با API ها یکی از الزامات اصلی است. کتابخانه requests در پایتون ابزاری قدرتمند برای انجام درخواست‌های HTTP به شمار می‌آید. در این مقاله، به بررسی نحوه مدیریت درخواست‌های API پیشرفته در پایتون با استفاده از requests و مدیریت سشن ها (Session Handling) خواهیم پرداخت.

نصب کتابخانه

برای شروع، ابتدا باید کتابخانه requests را نصب کنید. برای این کار از دستور زیر استفاده کنید:

pip install requests

ارسال درخواست‌های HTTP

با استفاده از کتابخانه requests، شما می‌توانید انواع مختلف درخواست‌های HTTP را انجام دهید.

۱. ارسال یک درخواست GET

درخواست GET برای دریافت اطلاعات از یک API استفاده می‌شود.

import requests

response = requests.get('https://api.example.com/data')
print(response.json())

۲. ارسال یک درخواست POST

درخواست POST برای ارسال داده به سرور استفاده می‌شود. مثلاً برای ایجاد یک منبع جدید:

import requests

data = {
    "name": "John",
    "age": 30
}

response = requests.post('https://api.example.com/data', json=data)
print(response.json())

آموزش کتابخانه ریکوئست

مدیریت Session

در بسیاری از مواقع، شما ممکن است بخواهید چندین درخواست را با همان وضعیت نشست (مانند احراز هویت) ارسال کنید. برای این کار می‌توانید از Session استفاده کنید.

۳. استفاده از Session

استفاده از Session به شما این امکان را می‌دهد که اطلاعات نشست را حفظ کنید، مانند توکن‌های احراز هویت یا کوکی‌ها:

import requests

# ایجاد یک جلسه
session = requests.Session()

# ارسال درخواست ورود
login_data = {
    'username': 'your_username',
    'password': 'your_password'
}
session.post('https://api.example.com/login', data=login_data)

# ارسال یک درخواست GET با این نشست
response = session.get('https://api.example.com/protected-data')
print(response.json())

# خروج از جلسه (سشن)
session.post('https://api.example.com/logout')

مدیریت استثناها

در حین انجام درخواست‌ها، ممکن است با خطاهایی مواجه شوید. بررسی وضعیت پاسخ و مدیریت استثناها اهمیت زیادی دارد.

try:
    response = session.get('https://api.example.com/data')
    response.raise_for_status()  # این خط در صورت وقوع خطا یک استثنا برمی‌گرداند
    print(response.json())
except requests.exceptions.HTTPError as err:
    print(f"HTTP error occurred: {err}")
except Exception as err:
    print(f"An error occurred: {err}")

نتیجه‌ گیری

مدیریت درخواست‌های API پیشرفته در پایتون با استفاده از کتابخانه requests بسیار آسان و موثر است. با استفاده از Session، می‌توانید نشست‌های کاربر را مدیریت کرده و درخواست‌ها را به صورت مؤثر ارسال کنید. همچنین، مدیریت استثناها به شما کمک می‌کند تا بتوانید خطاها را به طور موثری مدیریت کنید. با استفاده از این تکنیک‌ها، شما می‌توانید تعاملات پیچیده‌تری با API ها را به سادگی انجام دهید.

کانال یوتیوب کدیتی