The same proxy can be written four different ways. Which format your tool expects, how to convert between them, and the special-character trap in passwords.
Every proxy is the same four pieces of information: a host, a port, a username and a password. Tools just disagree about how to write them. If a proxy "does not work" right after you buy it, the format is the first thing to check.
The four common formats
host:port:user:pass gate.example.com:7777:alice:s3cret
user:pass@host:port alice:s3cret@gate.example.com:7777
http://user:pass@host:port http://alice:s3cret@gate.example.com:7777
host:port gate.example.com:7777 (IP whitelist, no login)
Which tools want which
- Anti-detect browsers and many bots import lists in
host:port:user:pass, one per line. - curl, Python requests, Node and most code want a URL:
http://user:pass@host:port, orsocks5h://...for SOCKS5. - Browser extensions and OS proxy settings usually have separate fields for host, port, username and password.
- Chrome's
--proxy-serverflag takes onlyhost:port. It cannot carry a username and password, so use IP whitelisting or an extension there.
The scheme matters
http:// in front of the proxy describes how you talk to the proxy, not the website. An HTTP proxy happily carries HTTPS traffic through a CONNECT tunnel, so http://user:pass@host:port is correct even when every site you visit is https. Writing https:// instead usually breaks the connection, because most proxy gateways do not speak TLS on the proxy port itself.
The special-character trap
In the URL format, characters like @, :, /, # and % have a meaning. If they appear in the password, encode them: @ becomes %40, : becomes %3A, # becomes %23. Otherwise the tool reads the wrong host and you get a confusing DNS or 407 error. Passwords made only of letters and digits avoid the problem entirely.
Usernames with options
Residential providers often put targeting into the username, for example alice-country-de-session-ab12cd34. It is still just the username: keep the whole string together, including every dash or underscore, and do not URL-encode those.
Converting a list quickly
In any spreadsheet, split the column by : and join the parts in the new order. Or in a terminal:
awk -F: '{print "http://"$3":"$4"@"$1":"$2}' proxies.txt
The Proxare dashboard generates your lines as host:port:user:pass, user:pass@host:port, user:pass:host:port or a full http:// / socks5:// URL, so you can copy them in whatever shape your tool expects.
More guides
Also in: Français · العربية · Tiếng Việt · 中文 · Українська