मैं कर्ल के लिए अनुरोध शीर्षलेख कैसे सेट कर सकता हूं?


197

मैं curlअनुरोध के लिए शीर्ष लेख में कई मान कैसे पास करूंगा ?


क्या आपके पास एक उदाहरण है जिसका आप अभी उपयोग कर रहे हैं जो आप हमें दिखा सकते हैं?
रयान बिग

4
एकाधिक -H ध्वज जोड़ें। उदाहरण के लिएcurl -H "Content-Type : application/json" -H "Authorization : Token token='yourtokenhere'"
gsumk

जवाबों:


242

बस -Hकई बार पैरामीटर का उपयोग करें :

curl -H "Accept-Charset: utf-8" -H "Content-Type: application/x-www-form-urlencoded" http://www.some-domain.com

यदि हेडर शामिल है तो क्या होगा "?
फ्रीविंड

2
@ फ़्रीविंड डबल के बजाय एकल-उद्धरण के साथ मान को लपेटता है, या इसे बचता है। एक ही बात आप हमेशा उस मामले में करते हैं।
डार्थ एलीगस

47

कभी-कभी हेडर बदलना पर्याप्त नहीं होता है, कुछ साइटें रेफ़र की भी जाँच करती हैं:

curl -v \
     -H 'Host: restapi.some-site.com' \
     -H 'Connection: keep-alive' \
     -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' \
     -H 'Accept-Language: en-GB,en-US;q=0.8,en;q=0.6' \
     -e localhost \
     -A 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.65 Safari/537.36' \
     'http://restapi.some-site.com/getsomething?argument=value&argument2=value'

इस उदाहरण में संदर्भित (-E या - कर्लर में कर्ल) 'लोकलहोस्ट' है।


45

एक कर्ल अनुरोध में कई हेडर पास करने के लिए आप बस अतिरिक्त -Hया --headerअपने कर्ल कमांड को जोड़ते हैं ।

उदाहरण

//Simplified
$ curl -v -H 'header1:val' -H 'header2:val' URL

//Explanatory
$ curl -v -H 'Connection: keep-alive' -H 'Content-Type: application/json'  https://www.example.com

आगे बढ़ते हुए

उपयोगकर्ता-एजेंट , कुकी , होस्ट जैसे मानक HTTP हेडर फ़ील्ड के लिए , वास्तव में उन्हें स्थापित करने का एक और तरीका है। कर्ल कमांड इन हेडर फ़ील्ड्स को सेट करने के लिए नामित विकल्प प्रदान करता है:

  • -ए (या --user- एजेंट): "उपयोगकर्ता-एजेंट" फ़ील्ड सेट करें।
  • -b (या - cookie): "कुकी" फ़ील्ड सेट करें।
  • -e (या --referer): "रेफर" फ़ील्ड सेट करें।
  • -एच (या - हेडर): "हेडर" फ़ील्ड सेट करें

उदाहरण के लिए, निम्नलिखित दो कमांड समतुल्य हैं। दोनों ही HTTP हेडर में "यूजर-एजेंट" स्ट्रिंग बदलते हैं।

    $ curl -v -H "Content-Type: application/json" -H "User-Agent: UserAgentString" https://www.example.com
    $ curl -v -H "Content-Type: application/json" -A "UserAgentString" https://www.example.com
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.