cURL proxy setup
curl is the quickest way to test a proxy. This guide covers the -x option, logins, SOCKS5, environment variables and sticky sessions, and what the common errors mean.
- Windows, macOS and Linux
- HTTP and SOCKS5
- One-line tests
Proxies for testing and scripts
Lowest rate for each. Every tier is on the pricing page.
Before you start
Three things to have ready.
curl
Built into Windows 10 and 11 as curl.exe, into macOS, and into most Linux systems. Check with curl –version.
Your proxy line
Copy the host, port, username and password from the generator in your dashboard. The examples use Eternal Residential: et.vantixproxy.com, port 1000.
A test address
https://api.ipify.org returns the IP a request came from, so you can see the proxy working.
Step 1: Send a request through the proxy
Give curl the proxy with -x. Put the login in the proxy URL, or pass it separately with -U. Add -v to see the proxy handshake when something fails.
- -x The proxy: scheme, host and port
- -U The proxy login, if not in the URL
- -v Shows the connection step by step
- -I Headers only, to save bandwidth
HTTP proxy with a login
curl -x "http://USERNAME:[email protected]:1000" https://api.ipify.org
The login as a separate option
curl -x http://et.vantixproxy.com:1000 -U "USERNAME:PASSWORD_country-US" https://api.ipify.org
Step 2: Use SOCKS5
Change the scheme to socks5h:// so the proxy looks up the site’s address. With socks5://, the lookup happens on your machine. Eternal Residential Lite is HTTP only.
SOCKS5 with remote DNS
curl -x "socks5h://USERNAME:[email protected]:1000" https://api.ipify.org
Step 3: Keep one IP, or set the proxy once
Add a session ID and lifetime to the password to hold one IP. To use the proxy for every curl call in a terminal, set it as an environment variable. In PowerShell, type curl.exe, because plain curl is an alias for another command there.
Three requests, one IP (macOS and Linux)
for i in 1 2 3; do
curl -s -x "http://USERNAME:[email protected]:1000" https://api.ipify.org; echo
done
macOS and Linux
export https_proxy="http://USERNAME:[email protected]:1000"
curl https://api.ipify.org
Windows PowerShell
$env:HTTPS_PROXY = "http://USERNAME:[email protected]:1000"
curl.exe https://api.ipify.org
Troubleshooting and questions
What does 407 Proxy Authentication Required mean?
The username or password is wrong, or the proxy expects a whitelisted IP. If the password contains @, : or /, encode those characters, for example @ as %40.
What does “Failed to connect” mean?
curl could not reach the proxy. Check the host and port for your product on the network status page.
Why does curl behave differently in PowerShell?
In Windows PowerShell, curl is an alias for Invoke-WebRequest. Type curl.exe to run the real curl.
How do I see which country the proxy is in?
Request api.ipify.org through the proxy, then look the IP up in our What is my IP tool, or test the whole list with the free proxy checker.
Does curl verify HTTPS through the proxy?
Yes. The proxy only tunnels the connection, so curl still checks the site’s certificate. There is no need for -k.
Which proxy is best for testing?
Budget Residential for regular scripts. Eternal Residential for occasional tests, since the GB never expire. Eternal Datacenter for sites that do not block server IPs.
Related guides and tools
More setup guides, and tools to test your proxies.
Get a proxy line to test
Budget Residential from $0.49/GB, or Eternal Residential from $0.75/GB that never expires. No KYC, crypto or card.