2012-02-25 13:39:38 +01:00
|
|
|
## HTTPie: cURL for humans
|
|
|
|
|
|
|
|
HTTPie is a CLI frontend for [python-requests](python-requests.org).
|
|
|
|
|
|
|
|
|
|
|
|
### Installation
|
|
|
|
|
|
|
|
pip install httpie
|
|
|
|
|
|
|
|
|
2012-02-25 13:47:23 +01:00
|
|
|
### Usage
|
2012-02-25 13:39:38 +01:00
|
|
|
|
2012-02-25 13:47:23 +01:00
|
|
|
httpie [flags] METHOD [header:value data-field-name=value]* URL
|
|
|
|
|
2012-02-25 13:49:50 +01:00
|
|
|
The default request `Content-Type` in `application/json` and data fields are automatically serialized as a JSON `Object`, so this:
|
2012-02-25 13:47:23 +01:00
|
|
|
|
2012-02-25 13:49:50 +01:00
|
|
|
httpie PATCH X-API-Token:123 name=John api.example.com/person/1
|
2012-02-25 13:47:23 +01:00
|
|
|
|
2012-02-25 13:49:50 +01:00
|
|
|
Will issue the following request:
|
2012-02-25 13:47:23 +01:00
|
|
|
|
|
|
|
PATCH /person/1 HTTP/1.1
|
|
|
|
User-Agent: HTTPie/0.1
|
|
|
|
X-API-Token: 123
|
|
|
|
Content-Type: application/json; charset=utf-8
|
|
|
|
|
|
|
|
{"name": "John"}
|
2012-02-25 13:49:50 +01:00
|
|
|
|
|
|
|
You can use the `--form` flag to set `Content-Type` and serialize the data as `application/x-www-form-urlencoded`.
|
2012-02-25 13:39:38 +01:00
|
|
|
|
2012-02-25 13:47:23 +01:00
|
|
|
The data to be sent can also be passed via `stdin`:
|
|
|
|
|
|
|
|
httpie PUT X-API-Token:123 api.example.com/person/1 < person.json
|
|
|
|
|
2012-02-25 13:49:50 +01:00
|
|
|
Most of the flags mirror the arguments you would use with `requests.request`. See `httpie -h` for more details.
|
2012-02-25 13:47:23 +01:00
|
|
|
|
|
|
|
|
|
|
|
### Screenshot
|
|
|
|
|
|
|
|
![httpie](https://github.com/jkbr/httpie/raw/master/httpie.png)
|