प्रयोग curl -v ...
, अर्थात क्रिया मोड जो इनपुट और आउटपुट हेडर को प्रिंट करता है। हालाँकि, इस जानकारी को पाइप नहीं किया गया है और मैं उन लाइनों को नहीं हटा सकता, जिनकी मुझे आवश्यकता नहीं है।
आप कर्ल हेडर आउटपुट को कैसे फ़िल्टर कर सकते हैं?
प्रयोग curl -v ...
, अर्थात क्रिया मोड जो इनपुट और आउटपुट हेडर को प्रिंट करता है। हालाँकि, इस जानकारी को पाइप नहीं किया गया है और मैं उन लाइनों को नहीं हटा सकता, जिनकी मुझे आवश्यकता नहीं है।
आप कर्ल हेडर आउटपुट को कैसे फ़िल्टर कर सकते हैं?
जवाबों:
curl -v
(क्रिया मोड) का उपयोग करने के बजाय , एक बेहतर विकल्प यह है कि curl
हेडर को अतिरिक्त डिबगिंग सामान के बिना सभी के बारे में बताएं और प्रतिक्रिया से शरीर को छोड़ दें। इस तरह, आप बिल्कुल प्रतिक्रिया हेडर के माध्यम से पकड़ सकते हैं, शेल पुनर्निर्देशन की आवश्यकता से बच सकते हैं, और जान सकते हैं कि आपके फ़िल्टरिंग को curl
आंतरिक डीबगिंग संदेशों को समझना और पार्स नहीं करना होगा (जो संभवतः इसके एपीआई का हिस्सा नहीं माना जाता है)।
आप इसे (ड्रॉप बॉडी), (ओवरराइड विधि), और (साइलेंट, ड्रॉप प्रोग्रेस बार) मापदंडों के संयोजन से-I
-X«METHOD»
-s
कर सकते हैं ।
curl -sIXGET https://www.google.com/ | grep -vi content-length
-s
प्रगति सलाखोंcurl
को छिपाने का निर्देश देता है । यदि छोड़ा गया है और curl
यह पता लगाता है कि यह एक टर्मिनल में चल रहा है, तो यह पाइप को बायपास कर देगा और टर्मिनल से सीधे प्रगति सलाखों को दिखाने के लिए बात करेगा जो अक्सर अनपेक्षित होता है और टर्मिनल को बंद कर देता है।-I
curl
किसी निकाय की प्रतीक्षा करने के बजाय हेडर प्राप्त करने के बाद सर्वर से डिस्कनेक्ट करने का निर्देश देता है। यह उपयोगी है यदि आप वास्तव में, जैसा कि आपके प्रश्न में कहा गया है, केवल HTTP प्रतिक्रिया हेडर के माध्यम से grepping में रुचि रखते हैं । इसमें अनुरोध विधि को डिफ़ॉल्ट करने का साइड-इफेक्ट भी है HEAD
जैसे कि आपने निर्दिष्ट किया था -XHEAD
।-X«method»
(जैसे, -XGET
) विधि को ओवरराइड करता है। कई मामलों में, एक HEAD
अनुरोध वही है जो आप चाहते हैं क्योंकि HTTP मानक कहता है कि HEAD
उसी GET
अनुरोध के समान सटीक हेडर वापस करना होगा । हालांकि, जब एक सर्वर डिबगिंग या एक के साथ काम करना जो मानक का पालन नहीं करता है, तो यह अनुरोध curl
करने के लिए उपयोगी हो सकता है GET
लेकिन प्रतिक्रिया शरीर को पढ़ने से पहले डिस्कनेक्ट करें। इस तरह, आप देख सकते हैं वास्तविक हेडर सर्वर प्रतिक्रिया में भेजना होगा करने के बजाय उम्मीद है कि सर्वर सही ढंग से लागू किया जाता है।GET