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コマンドには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ブラウザを使って手動で操作していた内容を自動化することなどが可能になる。