کتابخانه 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ها تعامل داشته باشید و دادههای لازم را به سرور ارسال کنید.