CocoaRestClient is a Mac OS X app for testing HTTP/Restful endpoints.
I love curl, but sometimes I need my output XML or JSON pretty printed. I want to be able to save frequent PUT and POST bodies for later and copy and paste from responses easily. Think of this as curl with a light UI.
The goal of this project is to build a lightweight native Cocoa app for testing and debugging HTTP Restful services. This project was greatly inspired by the Java rest-client (https://code.google.com/archive/p/rest-client).
Official project website: http://mmattozzi.github.io/cocoa-rest-client/
If you're not looking to compile from source and only want to use this tool, latest releases are here:
# install cask if necessary brew tap caskroom/cask # install CocoaRestClient brew install --cask cocoarestclient
- Make GET, PUT, POST, DELETE, HEAD calls
- Set request body to arbitrary content
- Set request headers
- Edit URL parameters in an easy to read table
- Set HTTP basic & digest auth
- Auto-format (pretty print) XML, JSON, and MsgPack responses
- Some cool Ace Editor themes for syntax highlighting
- Display response headers
- Quick save requests in a handy sidebar using folder organization
- Upload files and form data via multipart/form-data
- Enter POST/PUT input as raw input or key/value pairs
- Reports response latency
- Command-R reloads last request
- Lightweight: Low real memory usage and < 6mb DMG
- SSL Support (including untrusted certificates)
- Optionally follows HTTP redirects
- Import and export requests
- New in version 1.4: Uses native macOS tabs and windows.
- New in version 1.4.3: Generate a unified diff between two response body tabs
- Supports native MacOS dark mode
- Mac M1/arm and intel processor support
Pretty print JSON content. Set and save HTTP headers.
Pretty print XML content. Quick save of request URLs, body, and headers in one convenient drawer.
Set HTTP Basic or Digest Auth. Displays HTTP response headers.
Upload files using HTTP multipart requests. HTTP form encoding also supported.
Unified diff tool for comparing response bodies.
Source and Contributions
Contributions are always welcome! Please fork and create a pull request.
- Note that you must have a github account and a public key registered with github so that CocoaPods can pull down a github-hosted dependency.
- Uses a very lightly modified fork of SBJson (https://github.com/SBJson/SBJson) for pretty printing JSON
- Much guidance from Adrian Kosmaczewski blog (http://kosmaczewski.net/playing-with-http-libraries/)
- Sparkle automatic update framework (https://github.com/sparkle-project/Sparkle)
- ACEView syntax highlighting (https://github.com/ACENative/ACEView)
- Base64 encoding uses Matt Gallagher's NSData+Base64 code (http://www.cocoawithlove.com/2009/06/base64-encoding-options-on-mac-and.html)
- Code & testing contributions: Adam Venturella, Sergey Klimov, Cory Alder, Tito Ciuro, Eric Broska, Nicholas Robinson, Diego Massanti, Robert Horvath