2010-11-18 17 views

答えて

119

だけ-Hパラメータを使用し、数回:

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

ヘッダに '' 'が含まれているとどうなるでしょうか? – Freewind

+6

ヘッダはURLでエンコードされていなければなりません –

+0

@Freewindは値をダブルの代わりにシングルクォートで囲むかエスケープします。 。 – Fuser97381

27

時々ヘッダを変更することが十分ではありません、いくつかのサイトが同様にリファラをチェックします。この例では

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またはcurlの--referer)は 'localhost'です。

11

curl要求で複数のヘッダーを渡すには、単に-Hまたは--headerをcurlコマンドに追加します。

例は、ユーザーエージェントクッキーホストなどの標準的なHTTPヘッダフィールドのためのさらなる

行く

//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 

、実際に設定する別の方法がありますそれら。 curlコマンドは、これらのヘッダーフィールドを設定するための指定オプションを提供します。

  • -A(または--user-agent): "User-Agent"フィールドを設定します。
  • -b(または--cookie): "Cookie"フィールドを設定します。
  • -e(または--referer): "Referer"フィールドを設定します。
  • -H(又は--header):設定された "ヘッダ" フィールド

例えば、次の2つのコマンドは同等です。どちらもHTTPヘッダーの "User-Agent"文字列を変更します。

$ 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 
関連する問題