کتابخانه Requests در پایتون این امکان را فراهم می‌کند تا به سادگی اطلاعات را به سرور ارسال کنید. این کار معمولاً با استفاده از روش POST انجام می‌شود. در این مقاله ارسال اطلاعات به سرور با requests را بررسی خواهیم کرد، همراه با مثال‌های کاربردی.

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

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

pip install requests

۲. ساختار درخواست POST

یک درخواست POST معمولاً به دو بخش اصلی تقسیم می‌شود: URL هدف و داده‌ای که می‌خواهید ارسال کنید. اطلاعات معمولاً به فرمت JSON یا فرم-urlencoded ارسال می‌شوند.

مثال ارسال داده‌های JSON

برای ارسال داده به عنوان JSON، می‌توانید از پارامتر json استفاده کنید:

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, response.text)

در این کد:

  • در ابتدا URL و داده‌ها را تعریف می‌کنیم.
  • با استفاده از requests.post() و پارامتر json، داده‌ها به سرور ارسال می‌شوند.
  • وضعیت پاسخ (status code) برای بررسی موفقیت‌آمیز بودن درخواست بررسی می‌شود.

مثال ارسال داده‌های فرم

اگر بخواهید داده‌ها را به فرم-urlencoded ارسال کنید، می‌توانید از پارامتر data استفاده کنید:

import requests

url = 'https://api.example.com/login'
data = {
    'username': 'Ali',
    'password': 'password123',
}

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

if response.status_code == 200:  # 200 OK
    print('ورود موفقیت‌آمیز بود!')
else:
    print('خطا در ورود:', response.status_code, response.text)

۳. ارسال هدرها

بسته به API که از آن استفاده می‌کنید، ممکن است نیاز به ارسال هدرهای خاصی داشته باشید، مانند هدر Authorization. این کار به صورت زیر انجام می‌شود:

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

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

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

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

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

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

try:
    response = requests.post(url, json=data)
    response.raise_for_status()  # بررسی کد وضعیت
    print('درخواست موفقیت‌آمیز بود!')
except requests.exceptions.HTTPError as http_err:
    print(f'خطای HTTP: {http_err}')  # خطای HTTP
except Exception as e:
    print(f'خطای غیر منتظره: {e}')  # سایر خطاها

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

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