GURL is a lightweight command-line HTTP client with no external dependencies. It’s perfect for both modern and old systems, running smoothly without OpenSSL or other libraries. Whether you’re on a cutting-edge Linux server or ancient hardware, GURL just works.
You can download GURL using curl
(no HTTPS required) for your platform. Replace <ARCHIVE_URL>
with the appropriate link for your operating system and architecture from the table below:
sudo curl -L http://files.zabiyaka.net/gurl/latest/<PLATFORM>/<ARCH>/gurl -o /usr/local/bin/gurl;
sudo chmod +x /usr/local/bin/gurl;
Replace <PLATFORM>
and <ARCH>
with your system’s name and architecture.
Here’s the updated table with all links properly included for each platform and sorted by popularity. Each section references the full file paths provided.
Operating System | Architectures and Download Links |
---|---|
Linux | amd64 386 arm arm64 loong64 mips mipsle mips64 mips64le ppc64 ppc64le riscv64 s390x |
Windows | amd64 386 arm arm64 |
macOS | amd64 arm64 |
Android | arm64 |
FreeBSD | amd64 386 arm arm64 riscv64 |
OpenBSD | amd64 386 arm arm64 ppc64 riscv64 |
NetBSD | amd64 386 arm arm64 |
Solaris | amd64 |
Plan 9 | amd64 386 arm |
Illumos | amd64 |
DragonFlyBSD | amd64 |
AIX | ppc64 |
Wasm | js/wasm |
Wasi | wasip1 |
Note: Replace
/usr/local/bin
with an appropriate directory for your system if you lack permissions.
-
Download and Install for Linux x86_64:
sudo curl -L http://files.zabiyaka.net/gurl/latest/linux/amd64/gurl -o /usr/local/bin/gurl; sudo chmod +x /usr/local/bin/gurl;
-
Download and Install for Windows (PowerShell):
Invoke-WebRequest -Uri http://files.zabiyaka.net/gurl/latest/windows/amd64/gurl.exe -OutFile gurl.exe
GURL supports clear and descriptive options to make usage intuitive. Here are practical examples:
gurl example.com
Sends a simple GET request and outputs the response to the terminal.
gurl --output output.txt http://example.com
The --output
option saves the response body to output.txt
instead of displaying it in the terminal.
gurl --request POST --data "key=value&key2=value2" http://example.com
Sends a POST request with form data using --data
and explicitly sets the HTTP method with --request
.
gurl --form "key=value" --form "file=@/path/to/file" http://example.com
Uploads both text fields and files using the --form
option. Use key=@/path/to/file
to upload files.
gurl --header "Authorization: Bearer TOKEN" --header "Content-Type: application/json" http://example.com
Use --header
to include custom headers in the request.
gurl --cookie "session_id=abc123; user=example" http://example.com
The --cookie
option sends cookies with the request.
gurl --fail http://example.com/404
If an HTTP error (4xx or 5xx) is returned, GURL exits with a non-zero error code and suppresses the response body.
gurl --head http://example.com
The --head
option retrieves only the response headers.
gurl --useragent "CustomUserAgent/1.0" http://example.com
The --useragent
option specifies a custom User-Agent header.
gurl --timeout 10s http://example.com
The --timeout
option sets the maximum time GURL will wait for a response (e.g., 10s
, 1m
).
gurl http://example.com/file.txt --output file.txt
When using --output
to save a file, GURL automatically displays a download progress bar.
gurl --silent http://example.com > output.html
The --silent
option suppresses all output, including progress and headers, for clean scripting.
gurl --request POST --header "Content-Type: application/json" --data '{"key":"value"}' http://example.com
Combines --header
for content type and --data
for JSON payload.
gurl --verbose http://example.com
The --verbose
option prints detailed request and response information, useful for debugging.
gurl --timeout 5s --fail http://example.com
Combines --timeout
for a 5-second limit and --fail
to exit silently on HTTP errors.