curl でクエリ文字列を URL エンコードして HTTP リクエストを送信する方法のメモ。
curl でクエリ文字列を URL エンコードするには以下のように --data-urlencode {パラメータ}={値} の形式でパラメータを指定します。
上記を実行すると -v オプションを指定しているため、リクエストヘッダが表示されますが、
URL は以下のように URL エンコードされています。
次に、単純に URL に MT=検索 を指定して HTTP リクエストを送信してみます。
リクエストされた URL には「検索」がそのまま含まれていることがわかります。
curl でクエリ文字列を URL エンコードするには以下のように --data-urlencode {パラメータ}={値} の形式でパラメータを指定します。
curl 'http://search.goo.ne.jp/web.jsp' \ -v \ --get \ --url-urlencode 'IE=UTF-8' \ --url-urlencode 'OE=UTF-8' \ --url-urlencode 'MT=検索'
上記を実行すると -v オプションを指定しているため、リクエストヘッダが表示されますが、
URL は以下のように URL エンコードされています。
GET /web.jsp?IE=UTF-8&OE=UTF-8&MT=%E6%A4%9C%E7%B4%A2 HTTP/2
次に、単純に URL に MT=検索 を指定して HTTP リクエストを送信してみます。
curl -v 'http://search.goo.ne.jp/web.jsp?IE=UTF-8&OE=UTF-8&MT=検索
リクエストされた URL には「検索」がそのまま含まれていることがわかります。
GET /web.jsp?IE=UTF-8&OE=UTF-8&MT=検索 HTTP/2