تحويل curl إلى Python

يقوم curl2code بتحويل أي أمر curl فوراً إلى كود Python نظيف باستخدام مكتبة requests الشهيرة. تتم عملية التحويل بالكامل في متصفحك عبر WebAssembly — بياناتك لا تغادر جهازك أبداً. إذا كنت تعمل باستخدام TypeScript في الواجهة الأمامية، فراجع محول curl إلى TypeScript. بالنسبة للغة JavaScript من جهة الخادم، راجع curl إلى Node.js. ستجد أدناه أمثلة عملية تغطي سيناريوهات HTTP الأكثر شيوعاً.

كيفية نسخ curl من متصفحك

  1. 1

    افتح أدوات المطور (DevTools)

    اضغط على F12 أو Ctrl+Shift+I لفتح أدوات مطور المتصفح.

  2. 2

    انتقل إلى علامة تبويب الشبكة (Network)

    انقر فوق علامة التبويب Network وقم بالإجراء الذي يؤدي إلى إرسال طلب HTTP.

  3. 3

    نسخ كـ cURL

    انقر بزر الماوس الأيمن على الطلب ← CopyCopy as cURL. ثم قم بلصقه أعلاه.

الأسئلة الشائعة

ما هي مكتبة Python Requests؟

تعد Python Requests أشهر مكتبة عميل HTTP للغة Python مع أكثر من 50,000 نجمة على GitHub. توفر واجهة برمجة تطبيقات (API) أنيقة وبسيطة لإجراء طلبات HTTP، وإدارة الجلسات، وملفات تعريف الارتباط (cookies)، والمصادقة. تدعم تحليل JSON تلقائياً، وتجميع الاتصالات (connection pooling)، وفك تشفير المحتوى تلقائياً. قم بتثبيتها باستخدام pip install requests. إنها المكتبة الافتراضية المستخدمة بواسطة curl2code لتحويلات Python.

مقارنة بين Requests و http.client — أيهما يجب أن أستخدم؟

يُنصح باستخدام Requests لمعظم حالات الاستخدام نظراً لواجهة برمجة التطبيقات البسيطة، وتحليل JSON التلقائي، ودعم الجلسات المدمج. أما http.client فهي جزء من مكتبة Python القياسية ولا تتطلب أي تثبيت، مما يجعلها مناسبة للبيئات المحدودة. للحصول على بساطة مماثلة في لغات أخرى، راجع محول curl إلى Ruby أو محول curl إلى Go.

كيفية التعامل مع المصادقة في Python Requests؟

قم بتمرير ترويسة Authorization مع الرمز الخاص بك لمصادقة Bearer، أو استخدم requests.auth.HTTPBasicAuth(user, pass) لمصادقة Basic. يقوم curl2code تلقائياً باكتشاف أنماط المصادقة بما في ذلك -u user:pass و -H 'Authorization: Bearer ...'.

كيفية إرسال بيانات نموذج متعدد الأجزاء (multipart form data) باستخدام Python؟

استخدم معامل files: requests.post(url, files={ 'file': open('doc.pdf', 'rb') }). للحقول الإضافية في النموذج، استخدم data في نفس الوقت. يتعامل curl2code مع أعلام -F تلقائياً.

كيفية التعامل مع الأخطاء وإعادة المحاولة؟

استخدم response.raise_for_status() لإثارة استثناءات عند حدوث أخطاء 4xx/5xx. قم بتغليفها في كتلة try/except لالتقاط requests.exceptions.RequestException. لإعادة المحاولة، استخدم urllib3.util.Retry مع محول Session.

كيفية إجراء طلبات HTTP غير متزامنة (async) في Python؟

مكتبة requests متزامنة. لطلبات HTTP غير المتزامنة، استخدم aiohttp أو httpx (التي توفر واجهات متزامنة وغير متزامنة متوافقة مع requests). في سيناريوهات التزامن العالي، توفر العملاء غير المتزامنة إنتاجية أفضل بكثير.

كيفية ضبط المهلات (timeouts) وتجميع الاتصالات؟

قم دائماً بضبط المهلات: requests.get(url, timeout=(3.05, 27)). لتجميع الاتصالات، استخدم requests.Session() الذي يعيد استخدام اتصالات TCP. يتم تعيين --connect-timeout و --max-time في curl إلى هذه الإعدادات.

كيفية تكوين بروكسي مع Python Requests؟

قم بتمرير قاموس proxies: { 'https': 'http://proxy:8080' }. لبروكسي SOCKS، قم بتثبيت requests[socks]. كما تدعم المكتبة متغيرات البيئة HTTP_PROXY / HTTPS_PROXY. يقوم curl2code بتحويل -x و --proxy تلقائياً.

كيف يمكن إرسال طلب POST مع جسم JSON في Python؟

قم بتحويل أمر curl POST مثل curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL إلى Python باستخدام curl2code. يستخدم الكود الناتج requests.post(url, json={'key': 'value'}). يقوم curl2code تلقائيًا باكتشاف وسوم -d/--data التي تحتوي على محتوى JSON ويضبط ترويسة Content-Type المناسبة في كود Requests.

كيف يمكن إضافة مصادقة Bearer token في Python؟

قم بتمرير curl -H "Authorization: Bearer YOUR_TOKEN" URL إلى curl2code وسيقوم بإنشاء كود Requests مع ترويسة المصادقة: headers={'Authorization': 'Bearer YOUR_TOKEN'}. يكتشف curl2code رموز Bearer من كل من وسوم -H "Authorization: Bearer ..." و --oauth2-bearer. بالنسبة لـ Basic auth، استخدم -u user:pass.

كيف يمكن ضبط ترويسة Content-Type في Python؟

يقوم curl2code بتحويل curl -H "Content-Type: application/json" URL إلى كود Requests مع الترويسة المناسبة: headers={'Content-Type': 'application/json'}. بالنسبة لبيانات -d، يستخدم curl افتراضيًا application/x-www-form-urlencoded؛ أما بالنسبة لرفع النماذج باستخدام -F، فإنه يستخدم multipart/form-data. يقوم curl2code بربط كل منها بـ API الصحيح في Requests.

كيف يمكن تحويل أمر curl إلى كود Python؟

الصق أمر curl الخاص بك في curl2code واختر Python. تقوم الأداة بتحليل جميع الوسوم — -X (method)، و -H (headers)، و -d (data)، و -u (auth)، و -F (form)، والملفات التعريفية (cookies)، والمزيد — وتنشئ كود Python Requests نظيفًا. تتم عملية التحويل محليًا في متصفحك عبر WebAssembly، لذا تظل مفاتيح API وبياناتك خاصة. يمكنك أيضًا اختيار http.client كمكتبة بديلة.

روابط مفيدة

أدلة curl

تحويل curl إلى لغات أخرى