تبدیل curl به HAR

دستورات curl را به فرمت HAR (آرشیو HTTP) تبدیل کنید. curl2code کاملاً در مرورگر شما از طریق WebAssembly اجرا می‌شود — داده‌های شما خصوصی می‌مانند. برای HTTP خام، مبدل curl به HTTP ما را امتحان کنید. برای JSON، curl به JSON را ببینید. در ادامه مثال‌های آماده HAR آورده شده است.

نحوه کپی کردن curl از مرورگر

  1. 1

    باز کردن DevTools

    کلید F12 یا Ctrl+Shift+I را فشار دهید تا ابزارهای توسعه‌دهنده مرورگر باز شوند.

  2. 2

    رفتن به تب Network

    روی تب Network کلیک کنید و عملیاتی که باعث ارسال درخواست HTTP می‌شود را انجام دهید.

  3. 3

    کپی به عنوان cURL

    روی درخواست راست‌کلیک کنید ← CopyCopy as cURL. سپس آن را در بالا جایگذاری کنید.

سوالات متداول

فرمت HAR چیست؟

فرمت HAR (HTTP Archive) یک فرمت مبتنی بر JSON برای ثبت تراکنش‌های HTTP است. این فرمت درخواست‌ها، پاسخ‌ها، هدرها، کوکی‌ها، زمان‌بندی‌ها و محتوا را در یک ساختار استاندارد تعریف شده توسط W3C ثبت می‌کند. مرورگرها HAR را از تب Network در DevTools صادر می‌کنند. curl2code دستورات curl را برای تحلیل و بازپخش به ورودی‌های HAR تبدیل می‌کند.

HAR در مقابل HTTP خام در مقابل خروجی JSON — از کدام فرمت استفاده کنیم؟

HAR برای تحلیل سازگار با مرورگر بهترین است — قابل وارد کردن در DevTools کروم/فایرفاکس. HTTP خام فرمت واقعی پروتکل را نشان می‌دهد. JSON یک نمایش ساختاریافته برای استفاده برنامه‌نویسی ارائه می‌دهد. بر اساس گردش کار خود انتخاب کنید: HAR برای دیباگ کردن، JSON برای پردازش. همچنین curl به HTTP و curl به JSON را ببینید.

هدرهای احراز هویت چگونه در HAR نمایش داده می‌شوند؟

هدرهای احراز هویت در آرایه headers ورودی درخواست HAR ظاهر می‌شوند: {"name": "Authorization", "value": "Bearer token"}. فرمت HAR تمام هدرها را دقیقاً همان‌طور که ارسال شده‌اند حفظ می‌کند. هنگام اشتراک‌گذاری فایل‌های HAR محتاط باشید — ممکن است حاوی توکن‌های حساس احراز هویت باشند. قبل از اشتراک‌گذاری، اعتبارنامه‌ها را پاک کنید.

داده‌های فرم چگونه در HAR نمایش داده می‌شوند؟

داده‌های فرم multipart در postData با mimeType: "multipart/form-data" و یک آرایه params که هر فیلد را لیست می‌کند، ظاهر می‌شوند. محتوای فایل ممکن است به صورت متن یا انکود شده با base64 گنجانده شود. فیلد text حاوی بدنه خام است. curl2code ساختار کامل postData را تولید می‌کند.

چگونه یک فایل HAR را اعتبارسنجی کنیم؟

فیلدهای الزامی را بررسی کنید: log.version، log.creator و آرایه log.entries. هر ورودی به اشیاء request و response نیاز دارد. از اعتبارسنج‌های HAR مانند پکیج npm har-validator استفاده کنید. برای تایید بصری ساختار، آن را در DevTools کروم (Network > Import HAR) وارد کنید.

چگونه فایل‌های HAR را پارس و تحلیل کنیم؟

فرمت HAR در واقع JSON است — با هر کتابخانه JSON پارس کنید. مسیرهای کلیدی: log.entries[].request.url برای URLها، log.entries[].time برای زمان کل، log.entries[].response.content.size برای اندازه پاسخ. ابزارهایی مانند har-analyzer بینش‌هایی درباره عملکرد ارائه می‌دهند. برای تحلیل برنامه‌نویسی، curl به JavaScript را ببینید.

چگونه از HAR برای دیباگ کردن استفاده کنیم؟

فایل HAR را از DevTools مرورگر صادر کنید (تب Network > Export HAR)، با اعضای تیم به اشتراک بگذارید و برای بازپخش در مرورگر آن‌ها وارد کنید. HAR نمودار زمان‌بندی (waterfall)، ریدایرکت‌ها و جریان کوکی‌ها را ثبت می‌کند. از charles-proxy یا mitmproxy برای تولید HAR از هر کلاینت HTTP استفاده کنید.

چه ابزارهایی با فایل‌های HAR کار می‌کنند؟

DevTools کروم/فایرفاکس HAR را برای تحلیل بصری وارد می‌کنند. mitmproxy و Charles Proxy خروجی HAR می‌دهند. har-to-k6 فایل HAR را به تست‌های لود تبدیل می‌کند. httparchive.org از HAR برای تحقیقات عملکرد وب استفاده می‌کند. Postman برای ایجاد کالکشن، HAR را وارد می‌کند. برای فرمت خام، curl به HTTP را ببینید.

چگونه یک درخواست POST با بدنه JSON را در HAR نمایش دهیم؟

از -X POST -d "{"key":"value"}" -H "Content-Type: application/json" در دستور curl استفاده کنید و curl2code آن را به فرمت HAR تبدیل می‌کند: { "method": "POST", "postData": { "mimeType": "application/json", "text": "..." } }. بدنه JSON و هدر Content-Type در خروجی حفظ می‌شوند. curl2code هم JSON داخلی و هم ارجاعات @file.json را مدیریت می‌کند.

چگونه احراز هویت با Bearer token را در HAR بگنجانیم؟

وقتی دستور curl -H "Authorization: Bearer YOUR_TOKEN" URL را با curl2code تبدیل می‌کنید، Bearer token در خروجی HAR حفظ می‌شود: { "name": "Authorization", "value": "Bearer YOUR_TOKEN" }. هر دو فلگ -H "Authorization: Bearer ..." و توکن OAuth به طور خودکار تشخیص داده می‌شوند.

Content-Type در فرمت HAR چگونه نمایش داده می‌شود؟

هنگام تبدیل curl -H "Content-Type: application/json" URL، curl2code هدر Content-Type را در HAR به این صورت خروجی می‌دهد: { "name": "Content-Type", "value": "application/json" }. انواع رایج شامل application/json، application/x-www-form-urlencoded و multipart/form-data هستند. curl2code هدر Content-Type دقیق را از دستور curl اصلی حفظ می‌کند.

لینک‌های مفید

راهنماهای curl

تبدیل curl به زبان‌های دیگر