Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →When a Wget request fails, first identify which part failed: the request, the server response, the connection, the transfer, or TLS certificate validation. These ten GNU Wget examples show what to run, what the result can tell you, and what to try next. They are command templates: replace URL and filenames with your own values. Option behavior described here is based on the GNU Wget 1.25.0 manual; check your installed version and configuration if its output differs.
1. Wget fails, but the reason is unclear: show verbose output
Run:
wget --verbose URL
GNU Wget is verbose by default, so this explicitly requests the usual detailed status output. Read it in order: it can show the URL being requested, connection progress, response information, and whether the file was saved. The first error or unexpected status is often more useful than the final “failed” line. The GNU Wget manual describes verbose, quiet, and debug output.
If routine progress makes a log hard to scan, try wget -nv URL. Non-verbose mode suppresses routine verbosity while retaining error messages and basic information. For more detail about Wget’s own actions, --debug can help, but some builds may not include debug support. Neither verbose nor debug output is the same as printing the server’s response headers; use the next example for that.
2. You need to know what the server returned: print the response
Run:
wget --server-response URL
This prints server response information, including HTTP response headers; it also prints FTP server responses. Use it when you need to see what the server says rather than only Wget’s account of the retrieval. For example, the response can help distinguish a server-side refusal or redirect from a problem later in the transfer. The exact response depends on the server and request, so do not assume a particular status code without seeing it.
The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →#1 Best Overall
Compare this output with verbose output: --server-response exposes the reply from the server, while verbose or debug output describes Wget’s diagnostic detail. If the server response points to a missing or inaccessible resource, verify the URL and access requirements; if the reply looks normal but the transfer stalls, investigate connection and timeout behavior below. See GNU’s Download Options.
3. You want a basic URL check without saving the page: use spider mode
Run:
wget --spider URL
--spider checks whether a page is present without downloading it. It is useful for a quick availability check when you do not want the normal file retrieval. It is not a full-featured web crawler, and a successful check does not establish that every part of a page works, that its assets load, or that an interactive function succeeds.
If the check fails, inspect the verbose or server-response output to see what Wget encountered. Treat the result as a check of this URL from this request, not as proof that an entire site is healthy. The option is documented in GNU’s Download Options.
4. The request hangs or takes too long: set a combined timeout
Run with a value chosen for your connection and expected transfer:
wget --timeout=30 URL
The value above is an example, not a universal recommendation. --timeout applies the supplied timeout to DNS lookup, connection establishment, and reading. If you need to know which stage is slow, use the separate connection control in the next example rather than assuming every delay has the same cause.
A timeout does not necessarily limit the total time for a large download. In particular, Wget’s read timeout is an idle-time limit: it concerns how long Wget waits without receiving data, not the maximum duration of the whole transfer. The GNU Wget 1.25.0 manual documents a default read timeout of 900 seconds; that is documented behavior for that manual version, not a recommended setting for every system. Check the timeout documentation and your installed version when interpreting a long wait.
5. The delay appears to happen before transfer starts: limit connection setup
Run:
wget --connect-timeout=10 URL
This limits the time allowed to establish a TCP connection. As with the other numeric examples, choose a value that makes sense for the network you are diagnosing; ten seconds is only an illustration. This option isolates connection establishment more narrowly than --timeout.
If the connection limit is reached, investigate connectivity to the host and whether a connection can be established from your environment. DNS lookup and reading have separate timeout considerations, so a connection timeout alone does not diagnose every kind of delay. GNU documents the individual timeout controls alongside the combined timeout in its Download Options.
6. A transfer fails intermittently: adjust the retry count
Run:
wget --tries=5 URL
This sets a retry count for failed transfers. Five is an example value, not a guarantee that a download will succeed. Retries can help when a failure is temporary, but cannot repair a persistent outage, an incorrect URL, or a server that will not provide the resource.
Use the output from each attempt to decide whether the failure is transient or consistent. If every retry reports the same problem, stop treating more attempts as the fix and investigate the URL, response, connection, or certificate instead. Wget also retries a connection lost during the current invocation; retrying that ongoing retrieval is distinct from resuming a partial file left by an earlier invocation. The general retry behavior and examples are covered in the GNU Wget manual.
7. An earlier Wget run left a partial file: resume it
Run:
wget --continue URL
--continue tells Wget to continue a partial file from a previous invocation, where the server and retrieval permit it. Use it when a prior run ended and you want to resume that incomplete download, rather than restart it from the beginning.
This is not the same as retrying a connection drop in the current run: Wget already retries a connection lost during that invocation. If continuation does not work, inspect the resulting error and server response rather than assuming the local partial file can always be resumed. The behavior is described in the GNU Wget manual.
Free tools Windows power users keep installed
One-click scans. No signup required.
Rank #4
8. The server may need a particular request header: send one explicitly
Run:
wget --header='Accept: text/html' URL
--header adds an HTTP request header. In this example, Wget sends the supplied Accept: text/html header. A custom header changes the request; it is not just a local display or logging option. Only send headers that are appropriate for the server and your use case.
If adding a header changes the response, compare the server-response output before and after to understand what the server returned. Do not treat this example header as a universal solution to access errors: the server determines which headers matter. GNU documents custom headers in its HTTP Options.
9. Wget repeatedly stops at the same byte count: check Content-Length handling
In the specific case where a server supplies a bogus Content-Length and Wget repeatedly reports the same incomplete byte position, try:
wget --ignore-length URL
This option is for that documented mismatch scenario, not a general repair switch for truncated, interrupted, or corrupt downloads. If the problem is not a repeated failure at the same reported position associated with an incorrect length, first use the response and diagnostic output to investigate the actual failure. The special case is explained in GNU’s HTTP Options.
Best Value
10. Wget reports a certificate error: check trust before changing verification
Start by inspecting the URL host, the certificate chain, the system trust store, and whether your environment requires an internal CA certificate. Certificate checks are enabled by default in the documented GNU Wget behavior. If the site uses a certificate authority your system does not trust, the safer route is to install or specify the appropriate CA certificate for your environment, rather than disabling validation.
GNU Wget provides --no-check-certificate, but it disables certificate and hostname checks. That weakens protection against an untrusted or misidentified server; it should not be a routine fix, especially for sensitive or important downloads. If you use it at all for a controlled diagnostic, understand that it removes those checks and restore secure verification for normal use. See the GNU Wget manual for certificate behavior.
Choosing the next command by symptom
| What you observe | Useful first command | What it helps isolate |
|---|---|---|
| Unclear failure or progress | wget --verbose URL |
Wget’s own retrieval diagnostics |
| You need to see the server’s reply | wget --server-response URL |
HTTP headers or FTP server responses |
| Basic presence check without retrieval | wget --spider URL |
Whether this page is present to the check |
| Long wait at an unknown stage | wget --timeout=VALUE URL |
DNS, connection, and read timeout behavior |
| Slow connection establishment | wget --connect-timeout=VALUE URL |
TCP connection setup time |
| Intermittent failed retrieval | wget --tries=COUNT URL |
Retrying a failure during retrieval |
| Partial file from a previous run | wget --continue URL |
Resuming the prior partial download |
Use a diagnostic command that tests the suspected stage, then read its output before changing several settings at once. For example, a server response answers a different question from verbose output, and a connection timeout isolates a different stage from a read timeout. Keeping those distinctions clear makes the next action more targeted.
Or skip the browser setup
Wget is for command-line retrieval and request troubleshooting. If what you need instead is a screenshot of a rendered webpage, ScreenshotNeo is a website screenshot API and MCP server. One GET request can return a PNG, JPEG, WebP, or PDF; the cURL example below captures a page as WebP. See the ScreenshotNeo documentation for request options.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://example.com -o shot.webp
ScreenshotNeo accepts cookie or consent banners as a visitor and removes more than 60 known consent platforms, newsletter popups, and chat widgets before capture; each of those steps can be turned off. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and responses identify the page verdict and billing status in headers. Its MCP server provides take_screenshot, get_page_info, and capture_pdf tools for AI agents using Claude, Cursor, or another MCP client. The free plan includes 1,000 shots per month without a card; paid plans start at $5 for 3,000 shots.
Sign up for 1,000 free screenshots a month, with no card required.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




