Crul is a curl replacement, that is, it's a command line HTTP client. It has less features and options, but it aims to be more user friendly. It's heavily inspired by httpie.
It's written in the Crystal language.
- Fast
- No dependencies, easy to install
- Basic HTTP features (method, request body, headers)
- Syntax highlighting of the output (currently, only JSON)
- XML highlight
- User friendly headers and request body generation (similar to httpie's)
- Basic and digest authentication
Download the latest
binary and put
it somewhere in your $PATH
.
Currently, this release is only for Mac, if you want a Linux or Windows one, you can build from sources, see Development.
Usage: crul [method] URL [options]
get, GET Use GET (default)
post, POST Use POST
put, PUT Use PUT
delete, DELETE Use DELETE
-d DATA, --data DATA Request body
-H HEADER, --header HEADER Set header
-j, --json Format response as JSON
-h, --help Show this help
$ crul http://httpbin.org/get?a=b
HTTP/1.1 200 OK
Server: nginx
Date: Wed, 11 Mar 2015 07:57:33 GMT
Content-type: application/json
Content-length: 179
Connection: keep-alive
Access-control-allow-origin: *
Access-control-allow-credentials: true
{
"args": {
"a": "b"
},
"headers": {
"Content-Length": "0",
"Host": "httpbin.org"
},
"origin": "188.103.25.204",
"url": "http://httpbin.org/get?a=b"
}
$ crul put http://httpbin.org/put -d '{"a":"b"}' -H Content-Type:application/json
HTTP/1.1 200 OK
Server: nginx
Date: Wed, 11 Mar 2015 07:58:54 GMT
Content-type: application/json
Content-length: 290
Connection: keep-alive
Access-control-allow-origin: *
Access-control-allow-credentials: true
{
"args": {},
"data": "{\"a\":\"b\"}",
"files": {},
"form": {},
"headers": {
"Content-Length": "9",
"Content-Type": "application/json",
"Host": "httpbin.org"
},
"json": {
"a": "b"
},
"origin": "188.103.25.204",
"url": "http://httpbin.org/put"
}
After checking out the repo, run make
to run the tests and compile the source.
- Fork it ( https://github.com/porras/crul/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request
You can also contribute by trying it and reporting any issue you find.
Copyright (c) 2015 Sergio Gil. See LICENSE for details.