تحويل curl إلى Perl
قم بتحويل أوامر curl إلى كود Perl باستخدام LWP::UserAgent. يعمل curl2code بالكامل في متصفحك عبر WebAssembly — بياناتك تبقى خاصة. لـ Python، جرب محول curl إلى Python. لـ Ruby، راجع curl إلى Ruby. أدناه أمثلة Perl جاهزة للاستخدام.
كيفية نسخ curl من متصفحك
- 1
افتح أدوات المطور (DevTools)
اضغط على F12 أو Ctrl+Shift+I لفتح أدوات مطور المتصفح.
- 2
انتقل إلى علامة تبويب الشبكة (Network)
انقر فوق علامة التبويب Network وقم بالإجراء الذي يؤدي إلى إرسال طلب HTTP.
- 3
نسخ كـ cURL
انقر بزر الماوس الأيمن على الطلب ← Copy ← Copy as cURL. ثم قم بلصقه أعلاه.
الأسئلة الشائعة
ما هي Perl LWP؟
LWP (Library for WWW in Perl) هي مكتبة عميل HTTP القياسية لـ Perl. توفر وحدة LWP::UserAgent عميلاً كامل الميزات مع معالجة ملفات تعريف الارتباط، وعمليات إعادة التوجيه، ودعم البروكسي، و SSL. قم بالتثبيت باستخدام cpan LWP أو apt install libwww-perl. يستخدم curl2code مكتبة LWP كخيار افتراضي لتحويلات Perl.
LWP مقابل HTTP::Tiny مقابل Mojo::UserAgent — أيهما أستخدم؟
LWP غنية بالميزات وهي الخيار التقليدي. HTTP::Tiny هي وحدة أساسية (لا تحتاج لتثبيت) — رائعة للطلبات البسيطة. Mojo::UserAgent حديثة مع دعم العمليات غير المتزامنة و WebSocket. للسكربتات السريعة، استخدم HTTP::Tiny. للميزات الكاملة، استخدم LWP. للغات البرمجية المماثلة، راجع curl إلى Python أو curl إلى Ruby.
كيفية التعامل مع المصادقة في Perl؟
مع LWP: $ua->default_header('Authorization' => 'Bearer token'). للمصادقة الأساسية: $ua->credentials('host:port', 'realm', 'user', 'pass'). أو اضبط الترويسات لكل طلب على كائن HTTP::Request. يقوم curl2code بتحويل أعلام -u و -H 'Authorization' إلى صيغة Perl.
كيفية إرسال بيانات النموذج متعدد الأجزاء في Perl؟
استخدم HTTP::Request::Common: POST($url, Content_Type => 'form-data', Content => [file => ['path/file.pdf']]). تتعامل LWP مع حدود multipart تلقائيًا. للحقول الإضافية، أضف أزواج مفتاح-قيمة إلى مصفوفة Content. يقوم curl2code بتحويل أعلام -F إلى هذا التنسيق.
كيفية التعامل مع أخطاء HTTP في Perl؟
تحقق من $response->is_success بعد كل طلب. لتفاصيل الخطأ: $response->status_line تعيد رمز الحالة والرسالة. تعيد LWP كائن استجابة حتى عند حدوث أخطاء — تحقق من $response->code لحالة HTTP. استخدم die أو warn للإبلاغ عن الأخطاء.
كيفية تحليل JSON في Perl؟
استخدم وحدة JSON: my $data = decode_json($response->content). للترميز: my $json = encode_json($hashref). قم بالتثبيت باستخدام cpan JSON. لنسخة Perl 5.14+، فكر في JSON::PP (وحدة أساسية، لا تحتاج لتثبيت). لمزيد من الأدوات التي تركز على JSON، راجع curl إلى Go.
كيفية ضبط المهلة في Perl LWP؟
اضبط في UserAgent: my $ua = LWP::UserAgent->new(timeout => 30). هذا يضبط مهلة الطلب الإجمالية بالثواني. لمهلة الاتصال تحديدًا، استخدم خيارات IO::Socket::SSL. إعادة المحاولة ليست مدمجة في LWP — قم بتنفيذها يدويًا أو استخدم LWP::UserAgent::Determined.
كيفية استخدام بروكسي في Perl؟
اضبط في UserAgent: $ua->proxy(['http', 'https'], 'http://proxy:8080'). أو استخدم متغيرات البيئة: $ua->env_proxy يقرأ HTTP_PROXY و HTTPS_PROXY. لاستثناءات عدم استخدام البروكسي: $ua->no_proxy('localhost', '.internal'). يقوم curl2code بتحويل أعلام -x إلى استدعاءات بروكسي LWP.
كيف يمكن إرسال طلب POST مع جسم JSON في Perl؟
قم بتحويل أمر curl POST مثل curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL إلى Perl باستخدام curl2code. يستخدم الكود الناتج $ua->post($url, Content_Type => 'application/json', Content => encode_json($data)). يقوم curl2code تلقائيًا باكتشاف وسوم -d/--data التي تحتوي على محتوى JSON ويضبط ترويسة Content-Type المناسبة في كود LWP::UserAgent.
كيف يمكن إضافة مصادقة Bearer token في Perl؟
قم بتمرير curl -H "Authorization: Bearer YOUR_TOKEN" URL إلى curl2code وسيقوم بإنشاء كود LWP::UserAgent مع ترويسة المصادقة: $req->header('Authorization' => 'Bearer YOUR_TOKEN'). يكتشف curl2code رموز Bearer من كل من وسوم -H "Authorization: Bearer ..." و --oauth2-bearer. بالنسبة لـ Basic auth، استخدم -u user:pass.
كيف يمكن ضبط ترويسة Content-Type في Perl؟
يقوم curl2code بتحويل curl -H "Content-Type: application/json" URL إلى كود LWP::UserAgent مع الترويسة المناسبة: $req->header('Content-Type' => 'application/json'). بالنسبة لبيانات -d، يستخدم curl افتراضيًا application/x-www-form-urlencoded؛ أما بالنسبة لرفع النماذج باستخدام -F، فإنه يستخدم multipart/form-data. يقوم curl2code بربط كل منها بـ API الصحيح في LWP::UserAgent.