تحويل curl إلى PowerShell

قم بتحويل أوامر curl إلى كود PowerShell باستخدام Invoke-RestMethod. يعمل curl2code بالكامل في متصفحك عبر WebAssembly — بياناتك تبقى خاصة. لـ C#، جرب محول curl إلى C#. لـ Python، راجع curl إلى Python. ستجد أدناه أمثلة PowerShell جاهزة للاستخدام.

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

  1. 1

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

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

  2. 2

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

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

  3. 3

    نسخ كـ cURL

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

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

ما هو PowerShell Invoke-RestMethod؟

Invoke-RestMethod هو أمر (cmdlet) مدمج في PowerShell لإجراء طلبات HTTP مع تحليل تلقائي لـ JSON/XML. يعيد كائنات محللة مباشرة — لا حاجة لإلغاء التسلسل يدوياً. متاح في PowerShell 3.0+ و PowerShell Core. يدعم curl2code أيضًا Invoke-WebRequest الذي يعيد الاستجابة الخام.

Invoke-RestMethod مقابل Invoke-WebRequest — أيهم أستخدم؟

يقوم Invoke-RestMethod بتحليل استجابات JSON/XML تلقائيًا إلى كائنات PowerShell — مثالي للعمل مع واجهات البرمجة. يعيد Invoke-WebRequest الاستجابة الكاملة مع الترويسات ورمز الحالة والمحتوى الخام — أفضل لتصحيح الأخطاء والاستجابات التي ليست JSON. استخدم RestMethod لواجهات البرمجة، و WebRequest للكشط أو التشخيص. لنهج .NET مماثل، راجع curl إلى C#.

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

للمصادقة بـ Bearer: Invoke-RestMethod -Uri $url -Headers @{ Authorization = "Bearer $token" }. للمصادقة الأساسية، استخدم -Credential (Get-Credential) أو -Authentication Basic (PowerShell 6+). يتعامل PowerShell مع بيانات الاعتماد بأمان باستخدام SecureString. يقوم curl2code بتحويل أعلام المصادقة إلى معلمات أوامر PowerShell.

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

يدعم PowerShell 6+ المعلمة -Form @{ file = Get-Item "doc.pdf"; desc = "My file" } لرفع الملفات متعددة الأجزاء. في Windows PowerShell 5.1، قم ببناء جسم multipart يدويًا أو استخدم فئات .NET (مثل System.Net.Http.MultipartFormDataContent). يتعامل curl2code مع تحويل علم -F.

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

استخدم try/catch: يطلق كلا الأمرين استثناء WebException عند الاستجابات التي ليست من فئة 2xx. يمكن الوصول إلى الاستجابة عبر $_.Exception.Response. في PowerShell 7+، استخدم -SkipHttpErrorCheck لمنع إطلاق الاستثناء والتحقق من $response.StatusCode يدويًا بدلاً من ذلك.

كيفية العمل مع JSON في PowerShell؟

يقوم Invoke-RestMethod بتحليل JSON تلقائيًا إلى PSObject. للتحويل اليدوي: $data = $json | ConvertFrom-Json. لإرسال JSON: $body = @{ name = "John" } | ConvertTo-Json. يتكامل خط أنابيب الكائنات في PowerShell بشكل طبيعي مع استجابات واجهة البرمجة المحللة للتصفية والتحويل.

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

استخدم معلمة -TimeoutSec 30 في كلا الأمرين. في PowerShell 7+، استخدم -ConnectionTimeoutSeconds و -OperationTimeoutSeconds لتحكم دقيق. لإعادة المحاولة، استخدم -MaximumRetryCount 3 و -RetryIntervalSec 2 (PowerShell 7.1+).

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

استخدم معلمة -Proxy 'http://proxy:8080'. لمصادقة الوكيل: -ProxyCredential (Get-Credential). يحترم PowerShell إعدادات الوكيل على مستوى النظام افتراضيًا في Windows. للتجاوز: -NoProxy (PowerShell 6+). يقوم curl2code بتحويل أعلام -x إلى معلمات وكيل PowerShell.

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

قم بتحويل أمر curl POST مثل curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL إلى PowerShell باستخدام curl2code. يستخدم الكود الناتج Invoke-RestMethod -Uri $url -Method Post -Body ($data | ConvertTo-Json) -ContentType 'application/json'. يقوم curl2code تلقائيًا باكتشاف وسوم -d/--data التي تحتوي على محتوى JSON ويضبط ترويسة Content-Type المناسبة في كود Invoke-RestMethod.

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

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

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

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

روابط مفيدة

أدلة curl

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