loading
loading
Utilities
A human-friendly CLI HTTP client for APIs and servers.
overview
HTTPie is a command-line HTTP client built for readability. Headers, query parameters, and JSON or form fields stay clear on the command line, so a request reads like what it does. That makes it a practical choice for testing and debugging APIs during recon or development.
Syntax is flat: key=value becomes a JSON field, key==value a query parameter, Header:value a header. -a and --auth-type cover basic or digest auth; -F follows redirects; -j or -f pick JSON versus form bodies; --verify controls TLS checks. --check-status can fail the exit code on HTTP errors.
Trickest runs HTTPie as a managed utilities step that takes a URL plus request options and writes a file and a folder with the response. Use it to fetch an endpoint, exercise an API mid-pipeline, or capture a body a later node parses.
source github.com/httpie/httpie
use cases
Send GET or POST requests with JSON fields, headers, and auth in a readable one-liner to inspect how an endpoint responds.
Call a URL as a node and write the response to a file that a downstream step parses or routes.
Use basic or digest auth, custom headers, and client certificates to reach endpoints that require credentials or mTLS.
Serialize command-line fields as form data or force a multipart request to test uploads and form handlers.
reference
| Name | Type | Flag | Description |
|---|---|---|---|
| url | STRING | · | Request URL to call. |
| http-method | STRING | · | HTTP method for the request, e.g. GET or POST. |
| http-headers | STRING | · | Request headers using ':' as the key-value separator, e.g. Cookie:foo=bar. |
| url-parameters | STRING | · | Query parameters appended to the URL using '==' as the separator, e.g. search==httpie. |
| authentication | STRING | -a | Credentials in USER:PASS format. |
| auth-type | STRING | --auth-type | Authentication mechanism: basic (default) or digest. |
| follow-redirects | BOOLEAN | -F | Follow 30x Location redirects. |
| verify | STRING | --verify | Set to no or false to skip the host's SSL certificate check. |
Showing key inputs. HTTPie exposes 27 inputs in total.
| Name | Type | Flag | Description |
|---|---|---|---|
| url | STRING | · | Request URL |
| http | BOOLEAN | http | Httpie http method |
| https | BOOLEAN | https | Httpie https method |
| proxy | STRING | --proxy | Format: Protocol:PROXY_URL. String mapping protocol to the URL of the proxy. |
| verify | STRING | --verify | Set to "no" or "false" to skip checking the host's SSL certificate. Default: "yes" or "true". You can set REQUESTS_CA_BUNDLE environment variable. |
| timeout | STRING | -timeout | The connection timeout of the request in seconds. |
| boundary | STRING | --boundary | Specify a custom boundary string for multipart/form-data requests. Has effect only with --form. |
| compress | BOOLEAN | -x | Content compressed (encoded) with Deflate algorithm. The Content-Encoding header is set to deflate. |
| auth-type | STRING | --auth-type | The authentication mechanism to use. Default: basic. Options: basic - Basic HTTP auth; digest - Digest HTTP auth. |
| multipart | BOOLEAN | --multipart | Always sends a multipart/form-data request. |
| certificate | FILE | --cert | Specify a certificate to use as cliend side SSL certificate. |
| http-method | STRING | · | Http method |
| max-headers | STRING | --max-headers | The maximum number of response headers to be read before giving up. |
| private-key | STRING | --cert-key | The private key to use with SSL. Only needed if there is no key in provided certificate file. |
| check-status | BOOLEAN | --check-status | By default, HTTPie exits with 0 when no network or other fatal errors occur. |
| http-headers | STRING | · | Http Headers. Use ":" as a key-value separator. Example: Cookie:foo=bar. |
| max-redirects | STRING | --max-redirects | By default, requests have a limit of 30 redirects (works with -f). |
| authentication | STRING | -a | Format : USER:PASS |
| url-parameters | STRING | · | URL parameters to be appended to the request URI. Use "==" as a key-value separator. Example: search==httpie. |
| open-ssl-cipher | STRING | --ciphers | A string in the OpenSSL cipher list format. |
| data-fields-json | STRING | · | Data fields to be serialized into a JSON object (use with -j). or form data (use with -f). Example: name=HTTPie. |
| follow-redirects | BOOLEAN | -F | Follow 30x Location redirects. |
| protocol-version | STRING | --ssl | The desired protocol version to use. This will default to SSL v2.3. |
| bypass-dot-segment | BOOLEAN | --path-as-is | Bypass dot segment (/../ or /./) URL squashing. |
| serialize-as-form-fields | BOOLEAN | -f | Data items from the command line are serialized as form fields. The Content-Type ise set to application/x-www-form-urlencoded (if not specified). The presence of any file fields results in a multipart/form-data request. |
| serialize-as-json-object | BOOLEAN | -j | Data items from the command line are serialized as a Json Object. The Content-Type and Accept headers are set to application/json(if not specified). |
| non-string-json-data-fields | STRING | · | Non-string JSON data fields (only with -j). Use ":=" as a separator. Example: awesome:=true. |
example
# GET with auth, follow redirects, skip TLS verify on a lab hosthttpie https -a user:pass -F --verify=no GET https://api.example.com/v1/statusHTTP/1.1 200 OKContent-Type: application/jsonServer: example-api { "status": "ok", "host": "api.example.com", "upstream": "app.example.com", "ip": "198.51.100.40"}guidance
Reach for HTTPie when you want readable, scriptable HTTP requests for testing APIs and servers. For high-throughput probing of many hosts, httpx is built for scale. For raw control over every byte of a request, curl goes lower-level.
The ubiquitous low-level client. More control over raw requests, far less readable syntax.
Probes thousands of hosts for status, title, and tech. Built for scale, not single readable requests.
Minimal liveness checker. Answers whether a host is up rather than crafting a full request.
faq
related
Spider a URL and return a wordlist for password crackers.
Wordlist and mined-word subdomain permutation.
Import, export, and upsert workflow data against an Airtable base.
Decode Android APK files into smali sources and resources.
Check a file's values against conditions and exit with a matching code.
Authenticated Route53 hosted-zone inventory.
A URL feeds HTTPie, which sends the request and writes the response as a queryable output a later node can parse.
Facts on this page come from the live Trickest tool library.