2008-11-13 14 views
72

मैं केवल एक कर्ल अनुरोधकर्ल पद डेटा और हेडर केवल

curl -I www.google.com

सभी भव्य से हेडर प्राप्त करना चाहते हैं। अब मैं भी ऐसा करने के लिए है कि लेकिन पद डेटा में पास करना चाहते हैं:

curl -I -d'test=test' www.google.com

लेकिन सब मुझे मिलता है:

Warning: You can only select one HTTP request!

किसी को कैसे यह करने के लिए किसी भी विचार है या मैं कर रहा हूँ कुछ मूर्खतापूर्ण?

उत्तर

110

-I विकल्प एक HEAD अनुरोध करने के लिए कर्ल बताता है, जबकि -d'test=test' विकल्प के लिए एक पोस्ट करने के लिए कर्ल बताता है, तो आप दो विभिन्न अनुरोध प्रकार के ऐसा करने के लिए कर्ल बता रहे हैं।

curl -s -d'test=test' -D- -o/dev/null www.google.com 

या, विंडोज पर:

curl -s -d'test=test' -D- -onul: www.google.com 

neatest तरीका यह जहाँ तक मैं मिल सकता है क्या करना है। विकल्प हैं:

  • -D- सूचीबद्ध फ़ाइल, या stdout के लिए शीर्ष लेख डंप जब - इस तरह, पारित कर दिया है।
  • -o/dev/null शरीर को सूचीबद्ध फ़ाइल में भेजें। यहां, हम शरीर को त्याग देते हैं ताकि हम केवल हेडर देख सकें।
  • -s मौन (कोई प्रगति बार)
+14

झंडे का मतलब क्या होगा इसका स्पष्टीकरण – Madbreaks

+8

** - एस **: मूक (कोई प्रगति-बार नहीं) ** - डी **: दिए गए क्वेरी-स्ट्रिंग ** - डी के साथ एक पोस्ट करता है **: (stdout जब - पारित हो जाता है) दायर करने के लिए डंप हेडर ** - ** o: उत्पादन प्रतिक्रिया दायर करने के लिए मैनुअल इन सभी झंडे वैसे भी हवाला दिया है। – raphael

+0

यदि कोई इसे विंडोज़ पर चलाने के लिए चाहता है तो बस '-o/dev/null'' -o nul' (Windows XP में परीक्षण) के साथ प्रतिस्थापित करें। –

30

-d का अर्थ है कि आप POST विधि के माध्यम से फॉर्म डेटा भेज रहे हैं। -I का मतलब है कि आप मेटाडेटा पर HEAD के माध्यम से देख रहे हैं।

मैं या तो

  • डाउनलोड /dev/null करने के लिए सुझाव और उपयोग -i फाइल करने के लिए headerfile
  • -D headerfile के माध्यम से हेडर लिखने जवाब में हैडर शामिल पहले खाली लाइन से सब कुछ छोड़ने के लिए चाहते हैं।
+0

चीयर्स, मैं जानता हूँ कि बनाता है भावना –

+0

पुरानी,, लेकिन मैं जोड़ने 'एक छोटा सा उत्पादन को साफ करने के -s' सुझाव है। – rossipedia

+1

'-i' वह चाल थी जिसे मैं – fguillen

संबंधित मुद्दे