CLI Overview
Orb is a modern HTTP client for the command line, designed as a powerful alternative to cURL. Built with Rust, it offers native support for HTTP/1.1, HTTP/2, HTTP/3 (QUIC), and WebSockets.
Basic Usage
Section titled “Basic Usage”orb [OPTIONS] <URL>The only required argument is the URL. By default, orb makes a GET request and prints the response body to stdout.
orb https://api.example.com/usersKey Features
Section titled “Key Features”- Modern Protocols: HTTP/1.1, HTTP/2, HTTP/3 with automatic negotiation
- WebSocket Support: First-class WebSocket connections with interactive mode
- cURL Compatibility: Familiar options like
-H,-d,-X,-u,-o - JSON Shorthand:
--jsonflag for easy JSON requests - Compression: Built-in support for zstd, brotli, gzip, deflate
- Progress Bar: Automatic for large downloads
- TLS/mTLS: Full certificate support including client certificates
Common Patterns
Section titled “Common Patterns”API Requests
Section titled “API Requests”# GET with auth headerorb https://api.example.com/users -H "Authorization: Bearer token"
# POST JSONorb https://api.example.com/users -X POST --json '{"name": "Alice"}'
# PUT with headersorb https://api.example.com/users/1 \ -X PUT \ -H "Content-Type: application/json" \ -d '{"name": "Bob"}'Download Files
Section titled “Download Files”# Save to fileorb https://example.com/file.zip -o file.zip
# With progress barorb https://example.com/large-file.iso -o large-file.isoDebug Requests
Section titled “Debug Requests”# Show request/response headersorb -v https://example.com
# Show timing statisticsorb -w https://example.comWebSockets
Section titled “WebSockets”# Connect and send messageorb wss://echo.websocket.org --ws-message "Hello"
# Interactive modeorb wss://echo.websocket.orgNext Steps
Section titled “Next Steps”- HTTP Requests - Methods, headers, body data
- Authentication - Basic auth and bearer tokens
- Options Reference - Complete list of all options