ノートのpython 42-HTTP要求のコマンドラインツール(httpie)

序文

通常、我々は、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

おすすめ

転載: www.cnblogs.com/yoyoketang/p/11546176.html