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ها ارتباط برقرار کرد. این تکنیکها میتوانند به شما در توسعه برنامههای مستند و کارآمد کمک کنند.