GNU Wget is a command-line tool for downloading files. Route downloads through KnoxProxy using environment variables, command flags, or .wgetrc config.
Use environment variables to route through KnoxProxy.
export http_proxy=http://USER:PASS@gw.knoxproxy.com:7000
export https_proxy=http://USER:PASS@gw.knoxproxy.com:7000
wget -qO- https://httpbin.org/ipPass the proxy directly as a command-line option.
wget -e "https_proxy=http://USER:PASS@gw.knoxproxy.com:7000" \
-qO- https://httpbin.org/ipAdd the country code to the proxy username.
wget -e "https_proxy=http://USER-country-fr:PASS@gw.knoxproxy.com:7000" \
-qO- https://httpbin.org/ipSave a file while routing through KnoxProxy.
export https_proxy=http://USER:PASS@gw.knoxproxy.com:7000
wget https://example.com/file.zip -O file.zipSet the proxy permanently in your wget config file.
# Add to ~/.wgetrc
use_proxy = on
http_proxy = http://USER:PASS@gw.knoxproxy.com:7000
https_proxy = http://USER:PASS@gw.knoxproxy.com:7000Mirror a site through KnoxProxy.
export https_proxy=http://USER:PASS@gw.knoxproxy.com:7000
wget --mirror --convert-links --adjust-extension \
--page-requisites --no-parent \
https://example.com/docs/#!/bin/bash
# KnoxProxy + wget
export http_proxy="http://USER:PASS@gw.knoxproxy.com:7000"
export https_proxy="http://USER:PASS@gw.knoxproxy.com:7000"
echo "Exit IP:"
wget -qO- https://httpbin.org/ipEach wget invocation gets a fresh exit IP. For sticky sessions, use USER-session-{id} in the proxy username.
| Problem | Fix |
|---|---|
| Proxy tunneling failed: 407 Proxy Authentication Required | Add USER:PASS to the proxy URL. URL-encode special characters in the password (e.g., # becomes %23). |
| Unable to establish SSL connection through proxy | Verify you are using https_proxy (not http_proxy) for HTTPS URLs. Try adding --no-check-certificate to test (not for production). |
| wget: command not found | Install via package manager: brew install wget (macOS) or apt install wget (Debian/Ubuntu). |
USER-country-de-city-berlin-session-profile07Order matters -- geo flags before the session flag. The session name is free text; use the profile ID so the mapping is self-documenting. Password stays as issued; no flags belong there. HTTP on :7000, SOCKS5 on :7001, same credentials.
Both support HTTP proxies. wget uses http_proxy/https_proxy env vars or .wgetrc config. curl uses -x flag or .curlrc. wget is better for recursive downloads; curl is better for API testing.
GNU wget does not natively support SOCKS5. Use tsocks or proxychains to wrap wget with SOCKS5, or use curl --socks5 instead.
Set the no_proxy environment variable: export no_proxy=localhost,127.0.0.1,.internal.com
Use --save-cookies and --load-cookies flags. Cookies work normally through the proxy: wget --save-cookies cookies.txt --load-cookies cookies.txt URL
Free trial on rotating residential -- 1 minute setup, no credit card.