Install
openclaw skills install jrv-http-clientMake HTTP requests from the command line with support for auth (Bearer, Basic, API key), custom headers, JSON/form body, response formatting, timing, and his...
openclaw skills install jrv-http-clientA developer-friendly HTTP client for agents and scripts. Supports all HTTP methods, authentication, request bodies, pretty-printed responses, timing, and request history — all without needing curl flags memorized.
# Simple GET request
python3 scripts/http_client.py GET https://httpbin.org/get
# POST with JSON body
python3 scripts/http_client.py POST https://httpbin.org/post --json '{"name": "test"}'
# POST with form data
python3 scripts/http_client.py POST https://httpbin.org/post --form "name=test&value=42"
# PUT request
python3 scripts/http_client.py PUT https://api.example.com/users/1 --json '{"role": "admin"}'
# DELETE request
python3 scripts/http_client.py DELETE https://api.example.com/users/1
# Bearer token auth
python3 scripts/http_client.py GET https://api.example.com/me --bearer "mytoken123"
# Basic auth
python3 scripts/http_client.py GET https://api.example.com/data --auth "user:password"
# API key header
python3 scripts/http_client.py GET https://api.example.com/data --api-key "X-API-Key:abc123"
# Custom headers
python3 scripts/http_client.py GET https://api.example.com/ --header "Accept: application/json" --header "X-App: myapp"
# Follow redirects
python3 scripts/http_client.py GET https://example.com/ --follow
# Show only status code
python3 scripts/http_client.py GET https://api.example.com/health --status-only
# Output response to file
python3 scripts/http_client.py GET https://example.com/data.json --output response.json
# Timeout
python3 scripts/http_client.py GET https://slow.api.example.com/ --timeout 10
# Show request timing
python3 scripts/http_client.py GET https://httpbin.org/get --timing
# Output as JSON (for scripting)
python3 scripts/http_client.py GET https://httpbin.org/get --output-json
| Option | Description |
|---|---|
GET/POST/PUT/DELETE/PATCH/HEAD | HTTP method |
<url> | Target URL |
--json <body> | JSON request body (sets Content-Type: application/json) |
--form <data> | Form-encoded body (key=value&key2=val2) |
--bearer <token> | Bearer token Authorization header |
--auth <user:pass> | Basic auth |
--api-key <Header:value> | Custom API key header |
--header <H: V> | Add custom header (repeatable) |
--follow | Follow redirects (default: no) |
--timeout N | Request timeout in seconds (default: 30) |
--status-only | Print only the HTTP status code |
--output <file> | Save response body to file |
--output-json | Output full response as JSON (status, headers, body, timing) |
--timing | Show request/response timing |
--no-verify | Skip TLS certificate verification |
--verbose | Show request headers sent |
By default, responses are pretty-printed:
0 — HTTP 2xx response1 — HTTP 4xx/5xx response2 — Network error, timeout, or usage error