APIهای RESTful به عنوان یک الگوی طراحی استاندارد برای ارتباط بین کلاینت و سرور در وب شناخته می‌شوند. کتابخانه Requests در پایتون ابزاری ساده و کارآمد برای فراخوانی این نوع APIها فراهم می‌کند. در این مقاله، به بررسی فراخوانی APIهای RESTful با requests می‌پردازیم.

۱. نصب کتابخانه Requests

اگر هنوز کتابخانه Requests را نصب نکرده‌اید، می‌توانید آن را با استفاده از pip نصب کنید:

pip install requests

۲. انواع درخواست‌ها در APIهای RESTful

APIهای RESTful معمولاً با انواع مختلفی از درخواست‌ها کار می‌کنند که رایج‌ترین آن‌ها شامل GET، POST، PUT و DELETE است. در ادامه، هر یک از این نوع درخواست‌ها را با استفاده از requests بررسی خواهیم کرد.

۳. ارسال درخواست GET

درخواست GET برای دریافت داده‌ها از سرور استفاده می‌شود. در اینجا یک مثال از نحوه استفاده از این نوع درخواست آورده شده است:

import requests

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

if response.status_code == 200:
    data = response.json()  # تبدیل پاسخ به فرمت JSON
    print(data)
else:
    print('خطا در دریافت داده‌ها:', response.status_code)

۴. ارسال درخواست POST

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

import requests

url = 'https://api.example.com/users'
data = {
    'name': 'Ali',
    'email': 'ali@example.com',
}

response = requests.post(url, json=data)

if response.status_code == 201:  # 201 Created
    print('کاربر جدید با موفقیت ایجاد شد!')
else:
    print('خطا در ایجاد کاربر:', response.status_code)

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

۵. ارسال درخواست PUT

درخواست PUT برای به‌روزرسانی داده‌های موجود ایجاد شده است. مثالی از استفاده از PUT به صورت زیر است:

import requests

url = 'https://api.example.com/users/1'
data = {
    'name': 'Ali Reza',
    'email': 'ali.reza@example.com',
}

response = requests.put(url, json=data)

if response.status_code == 200:
    print('کاربر با موفقیت به‌روزرسانی شد!')
else:
    print('خطا در به‌روزرسانی کاربر:', response.status_code)

۶. ارسال درخواست DELETE

درخواست DELETE برای حذف داده‌ها از سرور استفاده می‌شود. در زیر مثالی از استفاده از DELETE آمده است:

import requests

url = 'https://api.example.com/users/1'

response = requests.delete(url)

if response.status_code == 204:  # 204 No Content
    print('کاربر با موفقیت حذف شد!')
else:
    print('خطا در حذف کاربر:', response.status_code)

۷. ارسال هدرها و پارامترها

در صورت نیاز به ارسال هدر یا پارامتر به درخواست‌ها، می‌توانید از آرگومان‌های headers و params استفاده کنید. به عنوان مثال:

headers = {
    'Authorization': 'Bearer your_token_here',
    'Content-Type': 'application/json',
}

params = {
    'limit': 10,
}

response = requests.get(url, headers=headers, params=params)

۸. مدیریت خطاها

استفاده از مدیریت خطا برای تضمین کارایی و کاربری بهتر مهم است. می‌توان از try-except برای مدیریت خطاها استفاده کرد:

try:
    response = requests.get(url)
    response.raise_for_status()  # خطای HTTP را بررسی می‌کند
    data = response.json()
    print(data)
except requests.exceptions.HTTPError as http_err:
    print(f'خطای HTTP: {http_err}')
except Exception as e:
    print(f'خطای غیر منتظره: {e}')

۹. نتیجه‌ گیری

در این مقاله، فراخوانی APIهای RESTful با requests در پایتون را بررسی کردیم. با توانایی ارسال درخواست‌های مختلف (GET، POST، PUT، DELETE) و مدیریت خطاها، می‌توان به راحتی با APIها ارتباط برقرار کرد. این تکنیک‌ها می‌توانند به شما در توسعه برنامه‌های مستند و کارآمد کمک کنند.