UTILS.
۱۰۰٪ در مرورگر
🌀

مبدل cURL به کد

یک دستور curl را جای‌گذاری کنید و یک قطعه‌کد معادل JavaScript fetch() دریافت کنید — متد، هدرها، بدنه و احراز هویت.

خروجی

درباره این ابزار

مبدل cURL به کد یک ابزار رایگان و درون‌مرورگری است که یک دستور curl را به کد معادل JavaScript fetch() تبدیل می‌کند. دستوری را که از یک ترمینال، یک سند API یا ابزارهای توسعه‌دهنده مرورگر کپی کرده‌اید جای‌گذاری کنید، و یک قطعه‌کد آماده اجرا با URL، متد HTTP، هدرها، بدنه درخواست و احراز هویت پرشده منتشر می‌کند. دستور فقط به‌صورت متن پارس می‌شود — هرگز اجرا نمی‌شود — و همه چیز به‌صورت محلی در مرورگر شما اتفاق می‌افتد.

یک توکنایزر آگاه از نقل‌قول دستور را همان‌طور که یک shell انجام می‌دهد تقسیم می‌کند، با احترام به نقل‌قول‌های تکی و دوتایی، escape با بک‌اسلش و ادامه خط \، بنابراین دستورات چندخطی و بدنه‌های JSON نقل‌قول‌شده به‌درستی پارس می‌شوند. سپس فلگ‌های رایج را نگاشت می‌کند: -X یا --request متد را تنظیم می‌کند، -H یا --header شیء هدرها را می‌سازد، -d و انواع --data آن به بدنه درخواست تبدیل می‌شوند (که به معنای POST است)، -u یا --user به یک هدر Authorization پایه رمزگذاری می‌شود، -F یا --form یک بدنه FormData مونتاژ می‌کند، و فلگ‌های کوکی، user-agent و referer به هدرهای خود نگاشت می‌شوند. فلگ‌های بولی مانند -L، -k و -s نادیده گرفته می‌شوند.

از آن برای انتقال یک فراخوانی curl کارآمد به یک اسکریپت Node یا مرورگر، برای یادگیری اینکه چگونه یک درخواست مستند به Fetch API نگاشت می‌شود، یا برای نمونه‌سازی سریع در برابر یک API استفاده کنید. از آنجا که هیچ چیزی اجرا نمی‌شود و هیچ چیزی آپلود نمی‌شود، می‌توانید دستورات حاوی توکن را با خیال راحت جای‌گذاری کنید — هرچند هنوز باید هر رازی را که در یک دستگاه مشترک جای‌گذاری می‌کنید بچرخانید.

پرسش‌های پرتکرار

آیا ابزار دستور curl را اجرا می‌کند؟
خیر. فقط دستور را به‌عنوان یک رشته با یک توکنایزر دست‌نویس پارس می‌کند و کد تولید می‌کند — هرگز یک درخواست شبکه انجام نمی‌دهد یا چیزی اجرا نمی‌کند. این یعنی جای‌گذاری یک دستور به‌صورت محلی امن است، اما با هر اعتبارنامه‌ای در آن با دقت معمول رفتار کنید.
کدام فلگ‌های curl پشتیبانی می‌شوند؟
موارد رایج: -X/--request برای متد، -H/--header برای هدرها، -d و خانواده --data-* برای بدنه، -F/--form برای FormData چندبخشی، -u/--user برای احراز هویت پایه، به‌علاوه -b (کوکی)، -A (user-agent) و -e (referer). فلگ‌های بولی مانند -L، -k، -s و --compressed شناسایی و رد می‌شوند.
-u user:password چگونه مدیریت می‌شود؟
به یک هدر Authorization: Basic با رشته user:password که به Base64 رمزگذاری شده تبدیل می‌شود، مطابق آنچه curl ارسال می‌کند. مقدار رمزگذاری‌شده مستقیماً در شیء هدرهای تولیدشده نوشته می‌شود تا قطعه‌کد به‌همان‌شکل کار کند.
چرا درخواست من به‌طور پیش‌فرض به POST می‌رود؟
curl به‌طور خودکار از POST استفاده می‌کند وقتی داده را با -d یا -F ارسال می‌کنید، بنابراین مبدل نیز همین کار را می‌کند مگر اینکه یک متد صریح با -X تنظیم کنید. GET وقتی استفاده می‌شود که بدنه‌ای وجود ندارد و متدی داده نشده است. تمام پارس به‌صورت خصوصی در مرورگر شما بدون کتابخانه‌های خارجی اجرا می‌شود.

ابزارهای بیشتر