HTTPie - CurlおよびWgetコマンドに似た最新のHTTPクライアント


HTTPie (aitch-tee-tee-pieと発音)は、cURLに似た、モダンで、ユーザーフレンドリーな、クロスプラットフォームのコマンドラインHTTPクライアントで、Pythonで書かれています。 CLIとWebサービスとのやり取りを簡単にし、できるだけユーザーフレンドリーにするように設計されています。

ユーザーが簡単で自然な構文を使用して任意のHTTPリクエストを送信できるようにする簡単なhttpコマンドがあります。これは主にテスト、問題のないデバッグ、そして主にHTTPサーバー、Webサービス、そしてRESTful APIとのやり取りのために使われます。

  • HTTPie comes with an intuitive UI and supports JSON.
  • Expressive and intuitive command syntax.
  • Syntax highlighting, formatted and colorized terminal output.
  • HTTPS, proxies, and authentication support.
  • Support for forms and file uploads.
  • Support for arbitrary request data and headers.
  • Wget-like downloads and extensions.
  • Supports ython 2.7 and 3.x.

この記事では、Linuxにhttpieをインストールして使用する方法をいくつかの基本的な例と共に示します。

LinuxにHTTPieをインストールして使用する方法

ほとんどのLinuxディストリビューションでは、デフォルトのシステムパッケージマネージャを使用して簡単にインストールできる HTTPie パッケージを提供しています。次に例を示します。

# apt-get install httpie  [On Debian/Ubuntu]
# dnf install httpie      [On Fedora]
# yum install httpie      [On CentOS/RHEL]
# pacman -S httpie        [On Arch Linux]

インストールが完了したら、 httpie を使用するための構文は次のとおりです。

$ http [options] [METHOD] URL [ITEM [ITEM]]

httpie の最も基本的な使い方は、引数としてURLを指定することです。

$ http example.com

それでは、 httpie コマンドの基本的な使い方と例を見てみましょう。

あなたはリクエストでHTTPメソッドを送ることができます、例えば、我々は指定されたリソースからデータをリクエストするために使われる GET メソッドを送ります。 HTTPメソッドの名前はURL引数の直前にくることに注意してください。

$ http GET tecmint.lan

この例では、入力リダイレクトを使用してファイルをtransfer.shにアップロードする方法を示します。

$ http https://transfer.sh < file.txt

図のようにファイルをダウンロードできます。

$ http https://transfer.sh/Vq3Kg/file.txt > file.txt		#using output redirection
OR
$ http --download https://transfer.sh/Vq3Kg/file.txt  	        #using wget format

図のようにデータをフォームに送信することもできます。

$ http --form POST tecmint.lan date='Hello World'

送信されているリクエストを確認するには、たとえば -v オプションを使用します。

$ http -v --form POST tecmint.lan date='Hello World'

HTTPieはCLIからの基本的なHTTP認証もサポートしています。

$ http -a username:password http://tecmint.lan/admin/

Header:Value 表記を使用してカスタムHTTPヘッダーを定義することもできます。これをテストするには、ヘッダーを返す次のURLを使用します。ここでは、「strong&gt; TEST 1.0」というカスタムのUser-Agentを定義しました。

$ http GET https://httpbin.org/headers User-Agent:'TEST 1.0'

実行して使用オプションの完全なリストを参照してください。

$ http --help
OR
$ man  ttp

https://github.com/jakubroztocil/httpie: HTTPie Github リポジトリから使用例をさらに見つけることができます。

ある[ HTTPie は、シンプルで自然な構文を持つcURLのような、近代的な、ユーザーフレンドリーなコマンドラインHTTPクライアントで、色付けされた出力を表示します。この記事では、Linuxにhttpieをインストールして使用する方法を説明しました。ご質問がある場合は、下記のコメントフォームからお問い合わせください。