HAR से cURL ब्राउज़र के DevTools से निर्यात हुआ नेटवर्क-अभिलेख पढ़ता है और उसके किसी भी अनुरोध को टर्मिनल में चिपकाने योग्य आदेश बना देता है। «ब्राउज़र में चलता है पर मेरी स्क्रिप्ट से नहीं» की खाई पाटने का यह सबसे तेज़ रास्ता है: हर शीर्षलेख, विधि और अनुरोध-काय वैसे ही आते हैं जैसे ब्राउज़र ने भेजे थे। दो बातों का विशेष ध्यान है। शेल-उद्धरण एकल उद्धरणों के भीतर एकल उद्धरण का POSIX पलायन लेता है, तो एपॉस्ट्रॉफ़ी वाला JSON-काय आदेश चुपचाप नहीं तोड़ता। और चूँकि HAR में जीवित सत्र-कुकियाँ होती हैं, एक कुंजी Cookie और Authorization शीर्षलेख हटा देती है।
विशेषताएँ
कोई भी HAR निर्यात पढ़कर सारे अनुरोध सूचीबद्ध करता है
URL, विधि या स्थिति-कोड से छानें
एक अनुरोध या पूरा छना समुच्चय एक साथ बदलें
उद्धरण या एपॉस्ट्रॉफ़ी वाले कायों के लिए POSIX-सही उद्धरण
Cookie, Authorization और API-कुंजी शीर्षलेख माँगने पर हटते हैं
ब्राउज़र-प्रबंधित शीर्षलेख और HTTP/2 छद्म-शीर्षलेख छूट जाते हैं
HAR से cURL का उपयोग कैसे करें
DevTools में नेटवर्क-पटल खोलें और सामग्री सहित HAR सहेजें चुनें
.har फ़ाइल यहाँ छोड़ें, या उसकी सामग्री चिपकाएँ
सूची से अनुरोध चुनें, या सब बदलने के लिए सभी रहने दें
आदेश साझा करना हो तो कुकी-प्रमाणीकरण हटाएँ चालू कर कॉपी करें
उदाहरण
इनपुट
POST https://api.example.com/login with a JSON body
काय वाले POST के लिए -X नहीं निकलता, क्योंकि --data स्वयं POST का अर्थ रखता है।
सामान्य त्रुटियाँ और समस्या निवारण
आदेश चलता है पर सर्वर 401 या 403 देता है। — शायद प्रमाणीकरण-शीर्षलेख हट गया, या उसमें दर्ज सत्र समाप्त हो गया। हटाने का विकल्प बंद करें और लॉग-इन रहते HAR दोबारा निर्यात करें।
उपकरण कहता है JSON, HAR फ़ाइल नहीं है। — HAR में शीर्ष पर log वस्तु होती है जिसमें entries सरणी है। सहेजा उत्तर-काय या कॉपी किया JSON उस संरचना में नहीं होगा — सामग्री सहित HAR सहेजें से दोबारा निर्यात करें।
आदेश में अनुरोध-काय नहीं है। — सामग्री सहित निर्यात करें। उसके बिना HAR शीर्षलेख रखता है पर काय छोड़ देता है, तो --data-raw में डालने को कुछ नहीं बचता।
अक्सर पूछे जाने वाले प्रश्न
ब्राउज़र से HAR फ़ाइल कैसे निर्यात करूँ?
DevTools खोलें, नेटवर्क-पटल पर जाएँ, अनुरोध दोहराएँ, फिर किसी पंक्ति पर दायाँ-क्लिक कर सामग्री सहित सब HAR के रूप में सहेजें चुनें। Chrome, Edge, Firefox और Safari सब इसका कोई रूप देते हैं।
बना cURL आदेश -X POST क्यों नहीं रखता?
क्योंकि --data-raw पहले से POST का अर्थ रखता है, और ऊपर से -X जोड़ना cURL के पुनर्निर्देशन-व्यवहार को बदल सकता है। विधि-चिह्न तभी आता है जब सच में चाहिए — जैसे PUT, PATCH या DELETE।
क्या HAR से बना cURL आदेश साझा करना सुरक्षित है?
डिफ़ॉल्ट रूप से नहीं — HAR जीवित सत्र-कुकियाँ और Authorization शीर्षलेख पकड़ता है, जो पासवर्ड के बराबर हैं। पहले हटाने का विकल्प चालू करें।
क्या बदलते समय मेरी HAR फ़ाइल अपलोड होती है?
नहीं। फ़ाइल पूरी तरह आपके ब्राउज़र में पढ़ी जाती है — जो मायने रखता है क्योंकि HAR में प्रायः हर पकड़े अनुरोध की सत्र-कुकियाँ और निजी आँकड़े होते हैं।
संबंधित टूल
HAR फ़ाइल व्यूअर — एक .har फ़ाइल खोलें और हर अनुरोध, हेडर, टाइमिंग और रिस्पॉन्स का निरीक्षण करें।
cURL से Fetch — curl कमांड को JavaScript fetch() कॉल में कन्वर्ट करें।