HTTP Request Tester
Send an HTTP request from the page, import it from curl and export it back to curl.
Request
The request goes from your browser straight to the address you type — nothing is relayed through this site. Browser CORS rules still apply. Need to paste or generate a command? Use the curl Tester.
Response
Learn
History for this tool
The most recent data you entered in this tool, stored only in this browser.
Save what you type here, in this browser? Your work would go into this browser's local storage, so a refresh or a trip to another tool does not wipe it. You also get a short list of previous entries under the form, each one restorable with a click. Nothing is ever uploaded, and there is no account.
Being straight about the trade-off: anything kept there can be read by anyone who can use this browser profile, and by any script that later runs on this site. A tool page can hold a private key, a password or a signed token. Saving is convenient; it is not private.
About this tool
A request builder that sends the request from your browser with fetch, straight to the address you type, and shows the status, headers and body that come back. Nothing is relayed through this site and no server of ours sees the request. Because the request is made by the browser, the browser’s own rules apply — most visibly the same-origin policy, which is the one thing this page cannot work around.Questions
- Why did a request fail with a CORS error instead of returning a response?
- Because a page cannot ignore the same-origin policy. The target has to allow cross-origin reads by answering with Access-Control-Allow-Origin, and if it does not, the browser blocks the reply before any script can read it. This is a rule of the browser, not a bug in the tool, and a static site has no server to proxy the request through — a proxy would also mean your headers, cookies and body passing through somebody else’s machine. The page says this in the error rather than pretending the server is down.
- Can I paste a curl command here?
- No — the form is the only way in on this page. To paste, explain and rebuild a curl command, use the curl Tester, which parses one into method, URL, headers and body and reports the flags it cannot honour instead of dropping them silently. Keeping the two tools separate means the request builder does exactly one thing.
- Why was the body left off my GET request?
- Because a GET or HEAD is defined not to carry one. If you selected a body type and typed a body while the method was GET or HEAD, the page refuses to send and tells you the body was left off, rather than sending a request that no server would interpret the way you expect. Switch to POST, PUT or PATCH for a request with a body.
- Can I send cookies to another site?
- Only if the request is same-origin or the target explicitly allows credentials. Cross-origin fetch with credentials requires the server to answer with Access-Control-Allow-Credentials as well as a specific origin, and never a wildcard. The Send cookies checkbox lets you ask; the browser decides.