DUICUO

強力なオープンソースのコマンドラインHTTPツールキットと素晴​​らしいコンパニオン

始める前に

まだアカウントを作成していない場合は、作成してください。

システムをアップデートするには、コンピューティングインスタンスの設定とセキュリティ保護に関するガイドに従ってください。また、タイムゾーンの設定、ホスト名の設定、制限付きユーザーアカウントの作成、SSHアクセスの強化なども検討してください。

ご注意ください

このガイドの手順は非rootユーザー向けに書かれています。昇格権限を必要とするコマンドには、先頭にsudoが付いています。sudoコマンドの使い方がよくわからない場合は、 https://www.linuxmi.com/linux-sudo-command.htmlを参照してください

HTTPie とは何ですか?

HTTPie は cURL に似たコマンドライン HTTP クライアントです。ただし、cURL とは異なり、HTTPie は最新の Web API をより簡単に利用できるように設計されています。HTTPie の構文は Web サービス指向で、インターフェースは cURL よりも読みやすくユーザーフレンドリーです。これらの機能により、HTTPie はコマンドラインから Web サービスをテスト、デバッグ、その他の方法で使用するための優れたツールとなっています。

HTTPie と cURL

このセクションでは、多くのLinuxディストリビューションにcURLがデフォルトでインストールされていることを踏まえ、cURLではなくHTTPieを使用する理由を探ります。cURLは拡張オプションを通じて幅広いHTTPニーズに対応します。一方、HTTPieは最新のWeb APIへのクエリのサポートに重点を置いています。Web APIを使用する場合、HTTPieは最も関連性の高い詳細情報を提供し、必要のない情報は非表示にします。HTTPieの出力により、Webサービスとのやり取りがより直感的かつ明確になります。

Web API、特にJSONデータを使用するRESTful APIを使用する場合は、HTTPieの使用を検討してください。また、より一般的なニーズを満たすHTTPクライアントが必要な場合は、より柔軟なオプションを提供するcURLの使用を検討してください。

curlie の詳細については、弊社の記事「Linux に curlie コマンドをインストールして使用する方法」をご覧ください。curlie は、HTTPie の読みやすさと cURL の適応性を兼ね備えた最新のコマンドライン HTTP クライアントです。

HTTPieのインストール方法

HTTPieは、ほとんどの主要Linuxディストリビューションのパッケージマネージャーから入手できます。以下は、様々なディストリビューションのパッケージマネージャーを使用してHTTPieをインストールするためのコマンドです。

Debian および Ubuntu では、次のコマンドを使用します。

 sudo apt install httpie

AlmaLinux および CentOS オペレーティング システムでは、次のコマンドを実行します。

 sudo yum インストール httpie

Fedora では、次のコマンドを使用します。

 sudo dnf インストール httpie

HTTPie をインストールしたら、インストールを確認し、http コマンドを使用してアクセスできます。

 linuxmi@linuxmi /home/linuxmi/www.linuxmi.com
⚡ http --version
1.0.3

HTTPieの使い方

他のHTTPクライアントに慣れている方なら、httppieの方が習得しやすいでしょう。基本的な使い方はcURLと似ていますが、必要なコマンドを簡素化できます。

次のセクションでは、Web サービスを使用する際に、HTTPie を使用して最も一般的な HTTP リクエストを処理する方法を紹介します。

基本的な使い方

HTTPieの最も基本的な使い方は、GETリクエストで確認できます。cURLと同様に、HTTPieではリクエストメソッドを指定する必要はなく、コマンドとリクエストURLを指定するだけです。

HTTPieの出力にはデフォルトでレスポンスヘッダーが含まれます。レスポンスを読みやすくするために、構文のハイライト表示が使用されています。下のスクリーンショットをご覧ください。

HTTPPie でリクエストにヘッダーデータを追加するには、以下のコマンドに示すように、URL にデータを追加する必要があります。以下の例では、Web サービスからランダムに「Dad's joke」を取得します。このコマンドには `--follow` オプションも含まれており、これにより HTTPPie は URL リダイレクトをたどることができます(curl の `-L` に相当)。HTTPPie は、リダイレクトレスポンスのヘッダー情報を出力に含めます。

リクエスト方法

HTTPPieでリクエストメソッドを指定するには、HTTPコマンドの最初の部分にメソッド名(GET、POST、PUT、DELETEなど)を含めるだけです。これは、HTTPPie独自のWebサービスを使用したテストの次の例で確認できます。

 # リクエスト情報を表示する(200レスポンスヘッダーを含む)
http://www.linuxmi.com

 # 詳細なリクエスト情報を表示します(リクエストとレスポンスのヘッダー200を含む)
http -v www.linuxmi.com

 # ヘッダーのみ表示
http -h www.linuxmi.com
http --head www.linuxmi.com
http --header www.linuxmi.com
http --headers www.linuxmi.com

 # 本文のみ表示
http -b www.linuxmi.com
http --body www.linuxmi.com
# ファイルをダウンロード
http -d www.linuxmi.com

 # フォーム送信をシミュレートする
http -f POST www.linuxmi.com ユーザー名= 'linuxmi-user'
# 削除依頼方法
http 削除 www.linuxmi.com
# JSON データ リクエストを渡します (JSON データ リクエストがデフォルトです)
http PUT www.linuxmi.com ユーザー名= 'linuxmi-user' パスワード= 'linuxmi-pwd'
# JSONデータが文字列でない場合は、区切りとして:=を使用します。例:
http PUT www.linuxmi.com ユーザー名= 'linuxmi-user' パスワード= 'linuxmi-pwd'年齢: = 28 a: = true住所: = '["a", "b"]'
# フォームからのPOSTリクエストをシミュレートします。Content-Type: application/x-www-form-urlencoded; charset=utf-8
http --form POST www.linuxmi.com ユーザー名= 'linuxmi-user'
# フォームのアップロードをシミュレート、Content-Type: multipart/form-data
http -f POST www.linuxmi.com/jobs ユーザー名= 'linuxmi-user' file@~/test.pdf
# コロンを区切り文字として使ってリクエストヘッダーを変更する
http www.linuxmi.com ユーザーエージェント:mimvp-agent/1.0 'Cookie:a=b;b=c'リファラー:http://www.linuxmi.com/
# 認証
http -aユーザー名:パスワード www.linuxmi.com
http --auth -type = digest -aユーザー名:パスワード www.linuxmi.com

HTTP Prompt – 対話型のコマンドラインHTTPクライアント

HTTP Prompt(またはHTTP-prompt)は、HTTPieとprompt_toolkitをベースに構築された対話型のコマンドラインHTTPクライアントで、自動補完と構文ハイライト機能を備えています。また、自動Cookie、OpenAPI/Swagger統合、Unixライクなパイプライン処理と出力リダイレクトもサポートしています。さらに、20種類以上のテーマが用意されています。

ここでは、Linux に HTTP プロンプトをインストールして簡単に使用する方法について説明します。

LinuxにHTTPプロンプトをインストールする方法

画像に示すように、通常の Python パッケージと同様に、PIP コマンドを使用して HTTP ヒントをインストールできます。

 linuxmi@linuxmi /home/linuxmi/www.linuxmi.com
⚡ pip で http-prompt をインストール

 Pygments == 2.5.2 を pip でインストールします

PythonでHTTPプロンプトをシステム全体にインストールしようとすると、権限エラーが発生する可能性があります。これは推奨されませんが、どうしてもインストールしたい場合は、`sudo`コマンドを使ってroot権限を取得してください。

あるいは、次に示すように、--user オプションを使用してパッケージをユーザーのホーム ディレクトリにインストールすることもできます。

 pip インストール--user http-prompt

HTTP プロンプトをアップグレードするには、次の手順を実行します。

 pip インストール-U http プロンプト

LinuxでHTTPプロンプトを使う方法

セッションを開始するには、図に示すように、http-prompt コマンドを実行するだけです。

最後のセッションから開始するか、http://localhost:8000 から開始します。

 linuxmi@linuxmi /home/linuxmi/www.linuxmi.com
⚡ httpプロンプト
バージョン: 2.1.0
http://localhost:8000> httpie 投稿
http POST http://localhost:8000
http://localhost:8000>

指定されたURLから開始します

 linuxmi@linuxmi /home/linuxmi/www.linuxmi.com
⚡ httpプロンプト http://localhost:3000

いくつかの初期オプションから始める

 linuxmi@linuxmi /home/linuxmi/www.linuxmi.com
⚡ http-prompt localhost:300/api --auth user:linuxmi ユーザー名= linuxmi

HTTP プロンプトが HTTPie を呼び出す方法をプレビューするには、次のコマンドを実行します。

 http://localhost:300/api> httpie 投稿
http --auth =ユーザー名:linuxmi POST http://localhost:300/api ユーザー名= linuxmi

セッションが開始されると、対話的にコマンドを入力できます。

以下に示すように、HTTP メソッドを入力して HTTP リクエストを送信できます。

 > 頭

 > 取得
役職
> 置く
> パッチ
> 削除

HTTPie構文を使用して、ヘッダー、クエリ文字列、または本文パラメータを追加できます。以下に例を示します。

 # ヘッダーを設定する
> コンテンツタイプ:application/json
# クエリ文字列パラメータ
5 ページ
# 本体パラメータ
ユーザー名= linuxmi
> フルネーム= 'www.linuxmi.com'
# 生のJSONのボディパラメータ
番号: = 18719
is_ok: =
> 名前: = [ "linuxmi" , "com" ]
> ユーザー: = '{"ユーザー名": "linuxmi", "パスワード": "linuxmi"}'
# すべてを1行に書く
> コンテンツタイプ: アプリケーション/json ページ== 5 ユーザー名= linuxmi

画像に示すように、HTTPie オプションを追加することもできます。

 --form --authユーザー:パスワード
--verify =いいえ

または

 > --form --auth user:pass ユーザー名= linuxidc コンテンツタイプ:application/json

セッションをリセットする(すべてのパラメータとオプションをクリアする)か、セッションを終了するには、次のコマンドを実行します。

 > rm * # セッションをリセット
> exit #セッションを終了する

詳細情報と使用例については、HTTP プロンプトのドキュメント (http://http-prompt.com/) を参照してください。

結論は

OK、それです!HTTP Prompt は HTTPie に最適なツールです。

これで、HTTPie を使って Web API にリクエストを送信できるようになりました。より高度な機能が必要な場合は、HTTPie を詳しく調べていくことで見つけることができます。HTTPie の公式ドキュメントを確認し、 http --helpを実行して HTTPie の機能についてさらに詳しく学んでください。

皆様からのご意見をお待ちしております。HTTP PromptとHTTPieに関するご意見やご質問は、以下のコメント欄にご記入ください。