تحويل curl إلى R

يقوم curl2code بتحويل أوامر curl إلى كود R باستخدام حزمة httr. تتم عملية التحويل في متصفحك عبر WebAssembly لخصوصية تامة. لـ Python، راجع محول curl إلى Python. لـ Julia، راجع curl إلى Julia. أدناه أمثلة R عملية.

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

  1. 1

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

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

  2. 2

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

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

  3. 3

    نسخ كـ cURL

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

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

ما هي مكتبة R httr؟

httr هي حزمة عميل HTTP الأكثر شهرة للغة R، وهي مصممة للتفاعل مع واجهات برمجة تطبيقات الويب. توفر دوال مثل GET() و POST() و PUT() مع معالجة تلقائية لنوع المحتوى ودعم OAuth. يمكن تثبيتها عبر install.packages("httr"). يدعم curl2code أيضًا httr2، وهو الخلف من الجيل التالي.

httr مقابل httr2 مقابل حزمة curl — أيهم أستخدم؟

httr مستقرة ومستخدمة على نطاق واسع — معظم دروس R تستخدمها. httr2 هي البديل الحديث مع صيغة الأنابيب (piped syntax)، وإعادة المحاولة المدمجة، وتحديد معدل الطلبات. حزمة curl هي غلاف منخفض المستوى لـ libcurl. استخدم httr2 للمشاريع الجديدة، و httr للتوافق. لسير عمل علوم البيانات المماثل، راجع curl إلى Python أو curl إلى Julia.

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

للمصادقة بـ Bearer: GET(url, add_headers(Authorization = paste("Bearer", token))). للمصادقة الأساسية: GET(url, authenticate(user, pass)). تدعم httr أيضًا OAuth 1.0 و 2.0 عبر oauth1.0_token() و oauth2.0_token(). يقوم curl2code بتحويل -u وأعلام الترويسات إلى صيغة R.

كيفية إرسال بيانات نموذج متعدد الأجزاء في R؟

استخدم POST(url, body = list(file = upload_file("doc.pdf"), desc = "My file"), encode = "multipart"). تتعامل httr مع حدود multipart و Content-Type تلقائيًا. لأجسام JSON، استخدم encode = "json". يقوم curl2code بتحويل أعلام -F إلى صيغة httr multipart.

كيفية التعامل مع أخطاء HTTP في R؟

استخدم stop_for_status(response) لإطلاق خطأ عند الاستجابات التي ليست من فئة 2xx، أو warn_for_status() للتحذيرات، أو message_for_status() للرسائل. تحقق من الحالة باستخدام status_code(response). قم بلف الكود في tryCatch() للتعامل البرمجي مع الأخطاء. تستخدم httr2 دالة req_error() لسلوك أخطاء قابل للتكوين.

كيفية تحليل استجابات JSON في R؟

استخدم content(response, "parsed") للتحليل التلقائي من JSON إلى قائمة، أو content(response, "text") مع jsonlite::fromJSON() لمزيد من التحكم. تحول jsonlite الـ JSON إلى إطارات بيانات (data frames) وقوائم ومتجهات في R. لخطوط أنابيب تحليل البيانات، قم بالتمرير مباشرة إلى tibble أو dplyr.

كيفية تعيين مهلة زمنية في R؟

استخدم GET(url, timeout(30)) لمهلة مدتها 30 ثانية. تستخدم httr2 دالة req_timeout(req, 30). لإعادة المحاولة في httr2: req_retry(req, max_tries = 3, backoff = ~ 2). لا تحتوي httr على إعادة محاولة مدمجة — استخدم حلقة مع tryCatch(). هذه الخيارات تقابل خيار --max-time في curl.

كيفية استخدام وكيل في R؟

استخدم GET(url, use_proxy("proxy", 8080, username, password)). تغلف httr خيارات الوكيل في libcurl. كما تحترم متغيرات البيئة http_proxy و https_proxy. لوكلاء SOCKS، حدد المخطط: use_proxy("socks5://proxy:1080"). يقوم curl2code بتحويل أعلام -x إلى تكوين وكيل R.

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

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

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

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

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

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

روابط مفيدة

أدلة curl

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