序文
通常、我々は、HTTPリクエストを送信するために迅速に不合理な、一般的なLinuxの利用カールを通じてインタフェースをテストする必要がありますが、構文は、やや複雑なコマンドラインツール、および直感的ではありません。
非常に簡単で便利なヒトへの使用のための要求にPythonライブラリは、あります。httpieはリクエストに基づいて開発され、ヒトへの使用のためのコマンドラインツールに、カール素晴らしいツールを交換してください。
環境インストール
ピップhttpieの== 1.0.3をインストール
バージョン番号を表示します
C:\Users\dell>pip show httpie
Name: httpie
Version: 1.0.3
Summary: HTTPie - a CLI, cURL-like tool for humans.
Home-page: http://httpie.org/
Author: Jakub Roztocil
Author-email: [email protected]
License: BSD
Location: e:\python36\lib\site-packages
Requires: requests, colorama, Pygments
Required-by:
C:\Users\dell>
GETリクエストを送信します
バンド本体は、リクエストパラメータを取得する必要はありません、何のパラメータはGETリクエストとしてデフォルトで識別されません
HTTP http://127.0.0.1:8000/info
結果を見るために訪問した後、それはとても効率的です!
C:\Users\dell>http http://127.0.0.1:8000/info
HTTP/1.1 200 OK
Allow: GET, POST, HEAD, OPTIONS
Content-Length: 290
Content-Type: application/json
Date: Wed, 18 Sep 2019 14:21:25 GMT
Server: WSGIServer/0.2 CPython/3.6.0
Vary: Accept, Cookie
X-Frame-Options: SAMEORIGIN
[
{
"age": 20,
"create_time": "2019-09-15",
"id": 1,
"mail": "[email protected]",
"name": "yoyo",
"sex": "M"
},
{
"age": 444444,
"create_time": "2019-09-18",
"id": 6,
"mail": "[email protected]",
"name": "yoyo",
"sex": "M"
}
]
POSTリクエスト
ノー体の一部で要求をGETデフォルトでは、身体のパラメータセクションを入れて、確かにPOSTリクエストとして認識されるので、要求の型を宣言しないでください。
JSON型は一般的なインタフェースであるため、要求タイプパラメータのデフォルトのContent-Typeがapplication / jsonの頭
その後、たとえば、POSTリクエストを送信し、私はこのようなメッセージを送信したいです
POST http://127.0.0.1:8000/info HTTP/1.1
Host: 127.0.0.1:8000
User-Agent: HTTPie/1.0.3
Accept-Encoding: gzip, deflate
Accept: application/json, */*
Connection: keep-alive
Content-Type: application/json
Content-Length: 63
{"name": "yoyo", "sex": "M", "age": "20", "mail": "[email protected]"}
=値:次いでキーを使用し、パラメータが文字列である場合、パラメータが文字列でない場合、key = valueの形式は、使用してもよいし、単に線次のコマンドラインを使用しhttpie
HTTP http://127.0.0.1:8000/info名=ヨーヨー性別= M年齢= 20 [email protected]
C:\Users\dell>http http://127.0.0.1:8000/info name=yoyo sex=M age=20 [email protected]
HTTP/1.1 200 OK
Allow: GET, POST, HEAD, OPTIONS
Content-Length: 95
Content-Type: application/json
Date: Wed, 18 Sep 2019 14:22:22 GMT
Server: WSGIServer/0.2 CPython/3.6.0
Vary: Accept, Cookie
X-Frame-Options: SAMEORIGIN
{
"data": {
"age": "20",
"mail": "[email protected]",
"name": "yoyo",
"sex": "M"
},
"message": "create some data!"
}
JSONファイルのインポート
より多くのJSONのパラメータは、test.jsonとして、JSONファイルのリクエストパラメータに書き込むことができた場合
{
"name": "yoyo",
"sex": "M",
"age": "20",
"mail": "[email protected]"
}
そして、JSONファイルをインポートすることができますリクエストを送信
HTTP http://127.0.0.1:8000/info <test.json
テスト結果
D:\>http http://127.0.0.1:8000/info < test.json
HTTP/1.1 200 OK
Allow: GET, POST, HEAD, OPTIONS
Content-Length: 95
Content-Type: application/json
Date: Wed, 18 Sep 2019 14:46:36 GMT
Server: WSGIServer/0.2 CPython/3.6.0
Vary: Accept, Cookie
X-Frame-Options: SAMEORIGIN
{
"data": {
"age": "20",
"mail": "[email protected]",
"name": "yoyo",
"sex": "M"
},
"message": "create some data!"
}
設定パラメータを表示するには、--help
--helpを使用して設定パラメータの多くを参照してください。
HTTP --help
これは、詳細な要求、表示要求ヘッダと返されたコンテンツを示します
HTTP -v
ヘッダのみを表示
HTTP -h
身頃のみを表示
HTTP -b
ファイルのダウンロード
HTTP -d
HTTPプロキシを使用します
HTTP --proxy =のhttp:のhttp:// XXX:X