2010-11-18 4 views

Antwort

119

Verwenden Sie einfach die -H Parameter mehrmals:

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

Was passiert, wenn der Header '' '? – Freewind

+6

Es sollte nicht enthalten. Header müssen URL-codiert sein. –

+0

@Freewind wickeln Sie den Wert mit einem einfachen Anführungszeichen statt einer Doppel, oder es zu entkommen. Das Gleiche tun Sie immer in diesem Fall . – Fuser97381

27

Manchmal die Header-Wechsel nicht genug ist, überprüfen Sie einige Websites, um den Referer auch:

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' 

In diesem Beispiel wird die Referer (-e oder --refrer in curl) ist 'localhost'.

11

Um mehrere Header in einer Curl-Anforderung zu übergeben, fügen Sie einfach zusätzliche -H oder --header zu Ihrem Curl-Befehl hinzu.

Beispiel

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

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

Weitere

Für Standard-HTTP-Header-Felder wie User-Agent gehen, Plätzchen, Host-, ist es eigentlich eine andere Art und Weise der Einstellung Sie. Der Befehl curl bietet Optionen zum Setzen dieser Header-Felder an:

  • -A (oder --user-agent): Feld "User-Agent" einstellen.
  • -b (oder --cookie): Legen Sie das Feld "Cookie" fest.
  • -e (oder --referer): Feld "Referer" einstellen.
  • -H (oder --header) einstellen "Header" -Feld

Zum Beispiel können die folgenden zwei Befehle sind äquivalent. Beide ändern die Zeichenfolge "User-Agent" im HTTP-Header.

$ curl -v -H "Content-Type: application/json" -H "User-Agent: UserAgentString" http://www.example.com 
    $ curl -v -H "Content-Type: application/json" -A "UserAgentString" http://www.example.com 
Verwandte Themen