HttpShell

Software Screenshot:
HttpShell
Software Details:
Version: 0.8.0
Upload Date: 14 Apr 15
Developer: Chris Longo
Distribution Type: Freeware
Downloads: 3

Rating: nan/5 (Total Votes: 0)

HttpShell is an interactive shell for issuing HTTP commands to a web server or REST API.

Issue HTTP commands (HEAD, GET, POST, PUT, DELETE) to a server with visual feedback. Makes debugging REST services much more interactive than cURL.

Usage

Treats the server like a filesystem:

$ httpsh http://api.twitter.com/a/statuses
api.twitter.com:/1/statuses > get public_timeline.json


HTTP/1.1 200 OK
>content-length: 40945
>vary: Accept-Encoding
>x-transaction-mask: a6183ffa5f8ca943ff1b53b5644ef1140f40ebd7
...


Use familiar shell commands:

api.twitter.com:/1/statuses > cd ..
api.twitter.com:/1/ > cd /
api.twitter.com:/ >


Pipe output to external commands for formatting, etc:

api.twitter.com:/1/statuses > get public_timeline.xml | xmllint -format -
...
< ?xml version="1.0" encoding="UTF-8"? >
< statuses type="array" >
 < status >
 < created_at >Wed Dec 14 00:57:12 +0000 2011< /created_at >
...


Post data to server:

$ httpsh http://localhost:28017
localhost:28017:/ > post /foo/bar
... { "a" : 123456 }
...
HTTP/1.0 201
>content-type: text/plain;charset=utf-8
>connection: close
>x-ns: foo._defaultCollection
>content-length: 15
>x-action: bar

{ "ok" : true }


Use JSON to post to web forms using special "@{}" notation!

somewebsite:/ > post /some/form/handler
... @{
... "name": "Chris",
... "occupation": "Developer"
... }


Converts the JSON definition above to: name=Chris&occupation=Developer for form posting.

Set headers:

localhost:28017:/ > .headers Cookie:session=5cb9586618eea2374377bb1584f7de74
localhost:28017:/ > .headers User-Agent:AppleWebKit/535.13
localhost:28017:/ > .headers
< Cookie: session=5cb9586618eea2374377bb1584f7de74
< User-Agent: AppleWebKit/535.13


Help

Verbs
 head [< /path/to/resource >] [| < external command >]
 get [< /path/to/resource >]
 post [< /path/to/resource >] [data]
 put [< /path/to/resource >] [data]
 delete < /path/to/resource >
Navigation
 cd < /path/to/resource > or ..
Metacommands
 .headers [< name >]:[< value >]
 .quit


Installation

 python setup.py install

Or if pip is installed:

 pip install httpshell

May require sudo to install!

Requirements:

  • Python

Similar Software

Comments to HttpShell

Comments not found
Add Comment
Turn on images!