A tiny command-line HTTP client. Easily interact with HTTP calls within your terminal. Built on top of the requests library and meant to be a command line wrapper for requests.
Current version: v0.1.8
res v0.1.8
HTTP it up with python. Use res to make command line http calls. I made this to make the development of my REST API to be a little bit easier.
Usage:
res console
res (-h | --help)
res (-v | --version)
res <method> <url> [options]
Options:
-d --data=<data> Send request data
-H --HEADER=<header> Defines custom headers
-a --auth=<auth> Authenticaton with 'user' and 'password' keys
-p --params=<params> Send request parameters
-b --bytes Returns content response in bytes
-r --raw Returns content response in raw format
-j --json Decodes content response from json
-c --cookie=<cookie> Defines cookies
-x --proxy=<proxy> Sends proxy with protocal as key and the port as value
-e --encoding Return encoding of content
-i --include Include headers
-h --help Show this screen.
-v --version Show version.
To download and install res, you must follow the instructions below.
$ pip install res
First you need to get a copy of the source. I'm going to use git and clone it to my local machine.
Clone the repository into a folder
git clone https://github.com/jawerty/res.git res
Install with setup.py
$ cd res
$ python setup.py install
Example GET, POST, PUT and DELETE calls
$ res GET http://example.com
$ res POST http://example.com
$ res PUT http://example.com
$ res DELETE http://example.com
Include headers
$ res GET http://example.com -i
Send request data to the body
$ res POST http://example.com -d "{
'Hello':'World',
'REST':'API'
}"
Authorization
$ res POST http://example.com -a "{
'user':'jawerty',
'password':'noneofyourbusiness'
}"
Parameters
$ res POST http://example.com -p "{ 'q':'names' }"
Binary response -> bytes
$ res GET http://example.com -b
or
$ res GET http://example.com --bytes
Raw socket response -> raw
$ res GET http://example.com -r
or
$ res GET http://example.com --raw
JSON response decoder -> json
$ res GET http://example.com -j
or
$ res GET http://example.com --json
The interactive console current (v0.1.7) cannot pass any arguments that require dictionaries (i.e. --data, --proxy, --cookie, etc.). However, arguments like --bytes, --encoding, --raw, etc., are allowed.
$ res console
>>> get http://example.com -e `// -e is for encoding`
UTF-8
>>> get http://example.com
`response content....`
>>>
There are even more HTTP options that are compatible with res. Run the command at $ res -h
to see all of the functions res wraps around.
If you would like to contact me for further information on the project, see the info below.
Email: jawerty210@gmail.com
Github: jawerty
Twitter: @jawerty
Website/Blog: http://jawerty.github.io