Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Scan for outdated or missing drivers - takes under a minute3Repair Windows errors before they cause bigger problemsSome links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.
To send a GNU Wget request through a proxy, set http_proxy for an HTTP destination or https_proxy for an HTTPS destination, using the proxy URL supplied by your network administrator or provider. For example, in a POSIX-style shell: https_proxy=http://proxy.example.net:8080 wget https://example.org/file. The proxy address is illustrative; it is not a verified service. You can also save proxy settings in Wget’s configuration, exclude selected domains with no_proxy, or disable the proxy for a single run with --no-proxy.
Choose where the proxy setting should apply
GNU Wget can get proxy settings from environment variables or from its wgetrc configuration file. Use an environment variable for a single command or shell session; use wgetrc when the setting should persist for runs that read that configuration. If you need to route only some destinations directly, configure no_proxy; if you want one invocation to avoid proxies altogether, use --no-proxy.
| Need | Use | Scope |
|---|---|---|
| Proxy one command | http_proxy or https_proxy before the command |
That command in a POSIX-style shell |
| Keep proxy settings in Wget configuration | Proxy entries in wgetrc | Runs that read that configuration |
| Bypass the proxy for named domains | no_proxy |
Destinations matching the listed domain extensions |
| Disable proxy use for one invocation | --no-proxy |
That Wget invocation |
Wget’s proxy variables describe the connection type being made to the destination. The proxy URL itself is supplied by the administrator or provider and may be an HTTP URL even when you are retrieving an HTTPS destination. Confirm the endpoint, port, authentication requirements and permitted traffic with whoever operates the proxy rather than inferring them from the destination URL.
Recommended Free Tools
Set a proxy for one Wget command
In a POSIX-style shell, put the relevant lowercase environment variable and its value immediately before wget. This applies the setting to that command without saving it as a persistent Wget preference.
#1 Best Overall
Download an HTTPS destination
https_proxy=http://proxy.example.net:8080 wget https://example.org/file
Download an HTTP destination
http_proxy=http://proxy.example.net:8080 wget http://example.org/file
Replace proxy.example.net:8080 with the endpoint you were given. These examples do not establish that an endpoint exists, accepts connections from your network, or allows the requested destination. For FTP retrievals, GNU Wget also documents the ftp_proxy environment variable; use the FTP proxy URL provided for your network.
The commands above show POSIX shell assignment syntax. Environment-variable syntax varies across shells and operating systems, so do not assume those exact command forms work in every terminal. If a command must run as a service account or scheduled job, make sure the environment and Wget configuration available to that process are the ones you intend.
Save proxy settings in wgetrc
For persistent Wget settings, add the appropriate entries to the user’s wgetrc file. GNU Wget documents user settings in $HOME/.wgetrc; it also supports selecting an alternate configuration path through the WGETRC environment variable.
https_proxy = http://proxy.example.net:8080
http_proxy = http://proxy.example.net:8080
no_proxy = .internal.example,localhost
Use only the entries you need, and replace the illustrative proxy value with the one supplied by your proxy operator. The no_proxy value is a comma-separated list of domain extensions to avoid proxying. For example, the sample lists an internal domain extension and localhost; change the list to match the destinations that should go direct in your environment.
Wget’s wgetrc proxy values override proxy values from the environment. That matters when an environment variable looks correct but Wget continues using a different configured endpoint: inspect the configuration Wget actually reads as well as the shell environment. A scheduled task, service or other account may use a different home directory or WGETRC path from your interactive shell.
Bypass the proxy when needed
Bypass it for one invocation
Use --no-proxy on a Wget command when that specific request should not use a proxy, even if proxy-related environment variables are set:
wget --no-proxy https://example.org/file
Bypass it for selected domains
Use no_proxy when Wget should proxy ordinary destinations but avoid the proxy for a comma-separated set of domain extensions. Put the value in wgetrc for persistent behavior or set the environment variable for the scope supported by your shell. If a request unexpectedly goes directly to the destination, check whether its domain matches an entry in no_proxy.
Turn proxy use off in wgetrc
To disable proxy use through Wget configuration, set use_proxy = off. The Wget manual documents this setting as disabling proxy use even when proxy-related environment variables are present. If you expect a command to use a proxy but it does not, check for this setting as well as the --no-proxy option.
Authenticate to a proxy
GNU Wget provides proxy-user and proxy-password options for proxy credentials, and proxy_user and proxy_password settings in wgetrc. The Wget 1.25.0 manual says that Basic is the proxy authentication scheme currently implemented. If your proxy requires a different scheme, ask its operator whether it can provide a compatible configuration; do not assume Wget supports every authentication method a proxy may offer.
Credential handling deserves extra care. A literal password included in a shell command may be retained in shell history or exposed to other users or processes, depending on your environment. Avoid putting secrets in commands or shared configuration, use a suitably protected configuration where appropriate, and follow your organization’s credential-handling rules. Ask the proxy operator how credentials should be delivered if you are unsure.
Use Wget’s execute option for a one-command configuration
Wget’s --execute (short form -e) switch accepts wgetrc commands. This lets you pass a configuration setting for one invocation instead of editing the persistent wgetrc file. For example, to turn proxy use off for one command using a wgetrc setting:
The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →wget -e use_proxy=off https://example.org/file
For credentials or proxy values, Wget also documents the corresponding wgetrc names, such as proxy_user and proxy_password. Treat command-line configuration containing a secret with the same caution as any other command-line secret: follow your organization’s rules and avoid leaving credentials in shell history or shared logs.
Rank #4
Troubleshoot proxy routing and failures
- Wget connects directly when you expected a proxy. Confirm that you used lowercase
http_proxyfor an HTTP destination orhttps_proxyfor an HTTPS destination. Then checkno_proxy, the command’s--no-proxyoption, and wgetrc’suse_proxy = off. A matching bypass rule or explicit disable setting can explain direct routing. - Wget uses an unexpected proxy endpoint. Check the wgetrc file Wget reads, including the user’s
$HOME/.wgetrcand any alternate path selected byWGETRC. Configured wgetrc proxy values override environment values. Also confirm which account is running Wget and what home directory or environment it receives. - The proxy connection cannot be established. Verify the hostname, port and endpoint URL with the proxy operator, and confirm that the machine running Wget can reach that endpoint. The sample endpoint in this article is illustrative only. Wget’s variable names do not supply a working proxy service.
- Authentication is rejected. Check the username and password with the proxy operator, and confirm which authentication scheme the proxy requires. GNU Wget 1.25.0 documents Basic as the proxy authorization scheme implemented; a proxy requiring another scheme may not work with that Wget release.
- Some hosts bypass the proxy and others do not. Inspect the comma-separated entries in
no_proxyand compare them with the destination domain. Remove or correct an entry only if policy permits those requests to use the proxy. - An interactive command works but a job does not. Check the job’s environment, account, home directory and
WGETRCvalue. Do not assume a service or scheduler reads the same user configuration as an interactive shell. - The proxy uses an unfamiliar URL or port. Do not guess from a generic example. Obtain the correct endpoint and any organization-specific settings from the administrator or provider responsible for it.
Keep the proxy setup maintainable
For a quick, isolated download, a per-command environment assignment keeps the choice visible in the command itself. For a user who routinely downloads through the same proxy, wgetrc centralizes the settings. Use no_proxy only for the domains that should avoid proxying, and use --no-proxy when the exception is limited to one command. This makes the routing choice easier to inspect than relying on an unexplained mixture of shell variables and configuration.
In managed environments, document which account owns the configuration and where its settings live. Treat a proxy address as deployment-specific rather than portable sample data: a command copied to another machine may need a different endpoint, access policy or credential method. The GNU Wget 1.25.0 manual covers the relevant proxy variables, wgetrc settings and authentication behavior; this article does not establish the behavior of any particular proxy provider.
Or skip the browser setup
Wget is for retrieving files; it does not produce a rendered browser screenshot. If the task is to capture how a web page looks rather than download its response, ScreenshotNeo is a separate option: ScreenshotNeo accepts one GET request with a URL and returns an image or PDF. Its API is not a way to configure Wget’s proxy routing.
For example, this cURL request captures a page as WebP:
Best Value
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://example.org/file -o shot.webp
See the ScreenshotNeo API documentation for the request details. ScreenshotNeo accepts cookie or consent banners before capture and removes more than 60 known consent platforms, newsletter popups and chat widgets; each of those steps can be turned off. Bot checks and CAPTCHAs, blank pages, timeouts, failed loads and cache hits are not billed, and responses identify the page verdict and billing status in headers. An MCP server provides take_screenshot, get_page_info and capture_pdf tools for Claude, Cursor and other MCP clients.
The free plan includes 1,000 screenshots per month with no card required; paid plans start at $5 for 3,000 shots. Sign up for ScreenshotNeo’s free plan.
Frequently Asked Questions
Does setting a proxy in wgetrc override an environment variable?
Yes. GNU Wget’s wgetrc proxy values override proxy values from the environment.
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchPC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Can Wget use a proxy that requires Digest authentication?
The GNU Wget 1.25.0 manual documents Basic as the proxy authorization scheme currently implemented. Confirm compatibility with the proxy operator.
Can ScreenshotNeo act as the proxy for a Wget download?
No. ScreenshotNeo captures rendered web pages as images or PDFs; it does not configure Wget’s proxy routing.
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.

