مبدل Curl به Python

تبدیل دستورات curl به کد Python - تولید کد Python requests آماده استفاده برای درخواست‌های API

اطلاعیه حریم خصوصی: این ابزار حرفه‌ای تبدیل امن به کد Python را با حفاظت حریم خصوصی سطح سازمانی فراهم می‌کند. ما هیچ داده‌ای که ارسال می‌کنید را ذخیره نمی‌کنیم و محرمانگی کامل را برای کار توسعه API شما تضمین می‌کنیم.

ژنراتور کد Python Requests

# Python requests code will appear here
# Example:
import requests

url = "https://api.example.com/data"
payload = {"name": "test"}
headers = {
    "Content-Type": "application/json"
}

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

print(response.status_code)
print(response.text)

دستورات curl رایج برای تست API در Python

در اینجا برخی دستورات curl رایج که می‌توانید به کد Python تبدیل کنید آمده است:

نمونه‌های Python Requests

کتابخانه requests در Python روشی قدرتمند و زیبا برای ارسال درخواست‌های HTTP فراهم می‌کند. در اینجا برخی الگوهای رایج Python requests آمده است:

آپلود فایل با Python Requests

import requests

url = "https://api.example.com/upload"
files = {'file': open('document.pdf', 'rb')}
headers = {"Authorization": "Bearer YOUR_TOKEN_HERE"}

response = requests.post(url, files=files, headers=headers)
print(response.json())

Python Requests با مهلت زمانی و مدیریت خطا

import requests
from requests.exceptions import RequestException

url = "https://api.example.com/data"
try:
    response = requests.get(url, timeout=5)
    response.raise_for_status()  # Raises exception for 4XX/5XX responses
    data = response.json()
    print(data)
except RequestException as e:
    print(f"Error making request: {e}")

نحوه استفاده از مبدل Python Requests

۱. استفاده پایه

دستور curl خود را کپی کنید → در کادر ورودی جایگذاری کنید → کد Python requests تبدیل شده را دریافت کنید

۲. ویژگی‌های Python Requests

  • HTTP methods (GET, POST, PUT, DELETE, etc.)
  • Request headers in Python format
  • JSON and form data handling
  • Basic and token authentication
  • SSL verification options
  • Session handling with Python requests

۳. استفاده پیشرفته از Python Requests

مبدل پیشرفته ما دستورات پیچیده curl را پشتیبانی می‌کند و آنها را به کد Python تمیز، کارآمد و آماده تولید با استفاده از کتابخانه requests ترجمه می‌کند. مناسب برای توسعه API، تست و یکپارچه‌سازی.

۴. تبدیل گزینه‌های curl به Python

ابزار ما این گزینه‌های رایج curl را پشتیبانی می‌کند و آنها را به کد Python requests مناسب تبدیل می‌کند:

  • -X, --request: Sets the HTTP method (GET, POST, PUT, etc.)
  • -H, --header: Adds HTTP headers to the request
  • -d, --data: Sends data in the request body
  • --data-binary: Sends binary data in the request body
  • -u, --user: Adds basic authentication
  • -k, --insecure: Disables SSL certificate verification
  • --connect-timeout: Sets connection timeout

سؤالات متداول درباره Python Requests

س: برای کد تبدیل شده curl به Python به چه نسخه‌ای از Python نیاز دارم؟

ج: کد Python requests تولید شده کاملاً با Python 3.x (3.6 و بالاتر) سازگار است. برای Python 2.x، ممکن است تنظیمات جزئی مورد نیاز باشد، اگرچه ما استفاده از Python 3 را برای امنیت بهتر و پشتیبانی از ویژگی‌ها توصیه می‌کنیم.

س: آیا کد Python بررسی خطا را انجام می‌دهد؟

ج: کد پایه تولید شده شامل مدیریت خطای گسترده نیست. برای کد تولیدی، باید بلوک‌های try/except را برای مدیریت استثناهای احتمالی مانند requests.exceptions.RequestException اضافه کنید.

س: چگونه می‌توانم پاسخ را در Python پردازش کنم؟

ج: کتابخانه requests پردازش پاسخ‌ها را آسان می‌کند. از response.json() برای پاسخ‌های JSON، response.text برای محتوای متنی یا response.content برای داده‌های باینری استفاده کنید.

س: آیا برای استفاده از کد تولید شده نیاز به نصب بسته‌ای دارم؟

ج: بله، اگر هنوز کتابخانه requests را ندارید، باید آن را نصب کنید. می‌توانید با استفاده از pip آن را نصب کنید: pip install requests

س: چگونه یک دستور curl با آپلود فایل را به Python تبدیل کنم؟

ج: برای آپلود فایل در Python، باید از پارامتر files در متد requests.post() استفاده کنید. مبدل ما دستورات curl با گزینه‌های -F یا --form را پشتیبانی می‌کند و کد Python مناسب با استفاده از کتابخانه requests تولید می‌کند.

س: چگونه کوکی‌ها را در Python requests مدیریت کنم؟

ج: کتابخانه requests در Python مدیریت کوکی را با شیء Session آسان می‌کند. هنگامی که دستورات curl شامل مدیریت کوکی (با استفاده از -b یا --cookie) را تبدیل می‌کنید، ابزار ما کد Python تولید می‌کند که به درستی کوکی‌ها را با استفاده از requests.Session() مدیریت می‌کند.

س: تفاوت بین استفاده از curl و Python requests برای تست API چیست؟

ج: در حالی که curl برای تست سریع API در خط فرمان عالی است، Python requests رویکردی برنامه‌نویسی ارائه می‌دهد که با برنامه‌های Python شما یکپارچه می‌شود. تبدیل curl به Python به پر کردن شکاف بین تست و پیاده‌سازی در توسعه Python کمک می‌کند.

مرجع دستور Curl برای تست API در Python

درک دستورات curl برای تست مؤثر API با Python ضروری است. در اینجا مرجع سریعی از گزینه‌های رایج curl که مبدل ما پشتیبانی می‌کند آمده است:

نحو پایه curl

curl [options] [URL]

گزینه‌های رایج curl

تبدیل دستورات پیچیده curl

مبدل Python ما دستورات پیچیده curl شامل چندین هدر، احراز هویت، داده‌های محتوا و گزینه‌های مختلف را پشتیبانی می‌کند. به سادگی دستور curl خود را جایگذاری کنید و کد Python تمیز و مدرن با استفاده از کتابخانه requests دریافت کنید.

بهترین شیوه‌های Python Requests

هنگام کار با کتابخانه requests در Python، این بهترین شیوه‌ها را برای تعاملات API کارآمد و امن دنبال کنید:

۱. از Sessions برای درخواست‌های متعدد استفاده کنید

import requests

session = requests.Session()
session.headers.update({"Authorization": "Bearer token123"})

# First request
response1 = session.get("https://api.example.com/users")

# Second request (uses same session)
response2 = session.get("https://api.example.com/products")

# Close the session when done
session.close()

۲. پیاده‌سازی مدیریت خطای مناسب

import requests
from requests.exceptions import HTTPError, ConnectionError, Timeout

try:
    response = requests.get("https://api.example.com/data", timeout=5)
    response.raise_for_status()
except HTTPError as e:
    print(f"HTTP error occurred: {e}")
except ConnectionError as e:
    print(f"Connection error occurred: {e}")
except Timeout as e:
    print(f"Timeout error occurred: {e}")
except Exception as e:
    print(f"An error occurred: {e}")

۳. از متد JSON به صورت ایمن استفاده کنید

import requests
import json

response = requests.get("https://api.example.com/data")
try:
    data = response.json()
except json.JSONDecodeError:
    print("Response was not valid JSON")
    data = {}