Tecmint.comは1月22日(米国時間)、「HTTPie - A Modern HTTP Client Similar to Curl and Wget Commands」において、curlやwgetと同様の用途で利用できるコマンドとしてHTTPieを紹介した。HTTPieは特にHTTPリクエストの送受信に特化したコマンドで、直接Webサーバと通信をしたり、開発しているWebアプリケーションなどのデバッグをしたりする際に利用できる。

HTTPieのインストール方法や主な使い方は次のとおり(HTTPieのコマンド名はhttp)。

パッケージ管理システム インストール方法
Linux apt apt-get install httpie
Linux dnf dnf install httpie
Linux yum yum install httpie
Linux pacman pacman -S httpie
macOS Homebrew brew install httpie
FreeBSD pkg pkg install py36-httpie

httpコマンドの使い方

http [options] [メソッド] URL [アイテム [アイテム]]
コマンド 内容
http example.com URLの内容を取得
http GET example.com URLの内容を取得(GET)
http http://example.com < ファイルパス ファイルをアップロード
http http://example.com/file > ファイルパス ファイルのダウンロード
http --download http://example.com/file ファイルのダウンロード
http --form POST example.com date='Hello World' フォームのサブミット
http -v --form POST example.com date='Hello World' リクエストの詳細を表示
http -a ユーザ名:パスワード http://example.com/admin ベーシック認証
http GET http://example.com User-Agent:'Test 1.0' カスタムHTTPヘッダを指定
  • httpコマンドの実行例

    httpコマンドの実行例

httpコマンドにはGET、POST、PUT、DELETEなどのHTTPメソッドを指定できる。メソッドの指定は省略可能で、省略した場合は必要に応じてGETやPOSTが使われることになる。基本的にはGETが使われるが、必要があればGETではなくPOSTが使われるといった動きをする。

また、URLの指定においてスキーマの指定を省略することも可能。スキーマの指定を省略した場合はデフォルトでhttp://が付与される。デフォルトのスキーマは--default-schemeオプションで指定することも可能。ホスト名も省略でき、その場合はlocalhostがホスト名として使われる。例えば、URL部分に:5100といった指定が行われると、http://localhost:5100といった指定が行われたものとして処理が行われる。

curlはさまざまなプロトコルに対応したツールで、インターネットを経由してデータのやり取りをする場合によく使われるコマンド。HTTPieはcurlと似ているが、HTTPに特化しているという特徴がある。こうしたツールを利用することでデバッグなどが行えるほか、これまでWebブラウザを使って手動で操作していた内容を自動化することなどが可能になる。