httpie

Utilisation simple de httpie : 


http http://127.0.0.1:8000/snippets/2/

HTTP/1.1 200 OK
...
{
  "id": 2,
  "title": "",
  "code": "print \"hello, world\"\n",
  "linenos": false,
  "language": "python",
  "style": "friendly"
}

Contrôler le format de la réponse grâce au header Accept :

 
http http://127.0.0.1:8000/snippets/ Accept:application/json  # Request JSON
http http://127.0.0.1:8000/snippets/ Accept:text/html         # Request HTML

 Contrôler le format de la réponse grâce au suffix :

http http://127.0.0.1:8000/snippets.json  # JSON suffix
http http://127.0.0.1:8000/snippets.api   # Browsable API suffix

Utilisation de --debug pour voir le type de requête :

greg@greg-home:~$ http --debug http://127.0.0.1:8000/snippets
HTTPie 0.8.0
HTTPie data: /home/greg/.httpie
Requests 2.2.1
Pygments 1.6
Python 2.7.6 (default, Jun 22 2015, 17:58:13) 
[GCC 4.8.2] linux2

>>> requests.request({'allow_redirects': False,
 'auth': None,
 'data': OrderedDict(),
 'files': OrderedDict(),
 'headers': CaseInsensitiveDict({'User-Agent': 'HTTPie/0.8.0'}),
 'method': 'get',
 'params': ParamDict(),
 'proxies': {},
 'stream': True,
 'timeout': 30,
 'url': 'http://127.0.0.1:8000/snippets',
 'verify': True})

HTTP/1.0 301 Moved Permanently
Content-Type: text/html; charset=utf-8
Date: Tue, 08 Nov 2016 05:07:33 GMT
Location: /snippets/
Server: WSGIServer/0.1 Python/2.7.6