| Field | Value | Copy |
|---|---|---|
| Shell | {{ shellLabel }} | |
| Flag style | {{ flagStyleDisplay }} | |
| Short flag combo | {{ combineShortFlagsDisplay }} | |
| Method | {{ method }} | |
| URL | {{ finalUrl }} | |
| Headers | {{ headerCount }} | |
| User-Agent | {{ userAgentDisplay }} | |
| Referer | {{ refererDisplay }} | |
| Body bytes | {{ bodyBytes }} | |
| Flags | {{ flagsList.join(' ') || '—' }} | |
| Retry policy | {{ retrySummary }} | |
| Limit rate | {{ limitRateDisplay }} | |
| Auth | {{ authSummary }} |
Web request commands capture the target address, the method, headers, and any payload so you can repeat a call exactly and share it with a team. A single command line recipe is simple to run and easy to compare across environments.
This generator helps you assemble that recipe in clear steps and returns a ready to run command you can copy or save. Start with the address and method, then add headers or a small body when needed so the intent stays readable.
For example you might create a request to add a new item, supply a bearer token, choose a short timeout, and enable retries so a temporary glitch does not stop your run. The output shows the host and neatly quotes your values so the command survives copy and paste.
Protect tokens and passwords and avoid sharing them. Replace secrets with safe test strings whenever you post examples or hand off a script.
To get reliable results use complete addresses, keep header names consistent, and try small sample payloads while you iterate. Compare runs by turning on verbose output after the first request succeeds.
An HTTP request is represented by a method, an absolute URL, a set of headers, and an optional body. The tool transforms those parts into a portable command string targeted to one of three shells: Bash/Zsh, PowerShell, or Windows CMD. Quoting and line breaking follow the conventions of the selected shell.
The command string includes any selected behaviors such as following redirects, retry policy, compression hints, response header inclusion, verbose traces, protocol preference (HTTP/2 or HTTP/3, mutually exclusive), timeouts, connection reuse policy, and bandwidth limiting. When a body is provided, the body size in bytes is derived and shown for quick checks.
Results are accompanied by warnings when a choice is unusual or has no effect in context. Errors only appear when generation would be ambiguous or unsafe, such as an invalid address or conflicting protocol options.
http/https, then merge any raw query text.Name: value lines, recording warnings for malformed entries.Authorization header, or API key via a named header.Content-Type: application/json if missing.key=value pairs and append --data-urlencode for each; add Content-Type: application/x-www-form-urlencoded if missing.--data-raw without transformation.User-Agent and Referer, replacing headers with the same names.Goal: Create an item with a small JSON body, include a bearer token, follow redirects, and limit bandwidth.
POSThttps://api.example.com/v1/itemsAccept: application/jsonYOUR_TOKEN{"name":"Ada"}500kcurl \
--request POST \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_TOKEN' \
--data-raw '{"name":"Ada"}' \
--location --max-time 15 --limit-rate '500k' \
'https://api.example.com/v1/items'
| Input | Accepted Families | Output | Encoding/Precision | Notes |
|---|---|---|---|---|
| Address | Absolute http or https |
Command argument | Quoted per shell | Optional raw query appended as typed |
| Method | GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS | Flag or implicit | Upper case | For GET with a body a warning is shown |
| Headers | Name: value lines |
-H/--header entries |
One line per header | User-Agent and Referer inputs override duplicates |
| Body | JSON, Raw text, Form URL‑encoded | --data-raw or --data-urlencode |
JSON minified | Content‑Type set when needed |
| Shell | Bash/Zsh, PowerShell, CMD | Single or multi‑line | Shell‑specific quoting | CMD output is always single‑line |
| Exports | Fields CSV, JSON summary, DOCX table | Clipboard or file | UTF‑8 | JSON masks secret values in summaries |
| Field | Type | Min | Max | Step/Pattern | Error/Warning Text |
|---|---|---|---|---|---|
| Address | Absolute URL | — | — | ^https?:// |
Enter a valid http(s) URL. |
| Protocol choice | Booleans | — | — | HTTP/2 vs HTTP/3 exclusive | Enable either HTTP/2 or HTTP/3, not both. |
| Headers | Text lines | — | — | Name: value |
Ignored header line N: expected “Name: value”. |
| Body (JSON) | Object/array | — | — | Valid JSON | Invalid JSON body. |
| Retry delay | Integer seconds | 0 | ∞ | Only with retries | Retry delay is ignored unless retry attempts are greater than zero. |
| Retry all errors | Boolean | — | — | Only with retries | Retry all errors only applies when retry attempts are greater than zero. |
| Max redirects | Integer | 0 | ∞ | Applies with follow | Max redirects only applies when Follow redirects is enabled. |
| Limit rate | String | — | — | ^\d+(?:[kKmMgG]?)$ |
Limit rate should look like 500k, 2M, or a plain byte value. |
| Auth: Basic | Text | — | — | User required | Basic auth: username required. |
| Auth: Bearer | Text | — | — | Token required | Bearer token is required. |
| Auth: API key | Text | — | — | Header and value | API key header name and value required. |
| GET with body | N/A | — | — | Advisory | A request body with GET is unusual; many servers will ignore it. |
http/https addresses are accepted.User-Agent and Referer inputs override same‑named headers.~ to home).-F (multipart) maps to a raw body; multipart is not emitted.Uniform Resource Identifier syntax (RFC 3986), HTTP Semantics (RFC 9110), HTTP/2 (RFC 9113), HTTP/3 (RFC 9114), and common shell quoting conventions inform the behavior described here.
Build a reproducible web request as a shell command you can run and share.
Name: value; set User‑Agent or Referer if needed.Example: POST {"name":"Ada"} with a bearer token and --location shows a multi‑line command for Bash; switch the shell to see quoting change automatically.
No. All processing and exports happen in the browser; nothing is sent to a server. Clipboard and downloads use local capabilities.
Most common flags, headers, methods, data options, and user credentials are recognized. Unclosed quotes or unusual constructs can block or alter parsing; fix the source command and try again.
Plain bytes, or a whole number with k, M, or G suffix, for example 500k or 5M. Other units are not accepted.
You can, but many servers ignore it. The generator warns about this choice so you can switch to a method that expects a body.
Choose a POST method, select the JSON body mode, paste valid JSON, and the content type header is added automatically. Fix any parsing error before generating.
It only applies when following redirects is enabled. Turn on redirect following to activate the limit.
Yes. Choose the API key option, name the header, and paste the value. The header is added to the command and shown in summaries.
No license text is embedded in this package. If you need terms, consult the distribution source where you obtained the tool.
Name: value with a colon.http/https URL.~ for home expansion.Accept: application/json to clarify response expectations in APIs that serve multiple formats.