Sem KYC — sem ID, sem selfie, sem documentos. Pague com cripto: BTC, USDT, USDC, ETH, SOL, LTC
Idioma: Português
Comece agora

Docs · curl 7.x e 8.x · Linux, macOS, Windows

curl com proxies HTTP e SOCKS5: exemplos para copiar e colar

curl é a forma mais rápida de testar credenciais, alvo e tempo antes de rodar seu scraper. Cada comando abaixo roda como está quando você substituir USERNAME e PASSWORD.

Última atualização: · 4 min de leitura

Resposta rápida

Como usar um proxy com curl?

Use curl -x http://USERNAME:[email protected]:7777 https://api.ipify.org para proxy HTTP, ou --socks5-hostname gw.crawlrelay.com:7778 com -U USERNAME:PASSWORD para SOCKS5. CrawlRelay proxies residenciais incluem país e sessão fixa no usuário, como USERNAME-country-de-session-t1-ttl-10. A partir de US$ 0,50/GB. Pague com cripto, sem KYC.

Flags do curl que você precisa

-x / --proxyURL do proxy: http://host:port, credenciais opcionais na URL
-U / --proxy-userCredenciais do proxy como USERNAME:PASSWORD, mantidas fora da URL
--socks5-hostnameProxy SOCKS5 com DNS resolvido na saída
-vMostra a troca CONNECT e a linha de status do proxy
-wExibe temporização, tamanho e %{http_connect}, o status CONNECT do proxy
--max-time, --connect-timeoutLimites totais e de tempo de conexão, em segundos

Quais são os comandos básicos do proxy?

Cada um imprime o IP de saída que o site vê.

Proxy HTTP, rotativo, depois direcionado e sticky
# Rotating exit, any country
curl -x http://gw.crawlrelay.com:7777 -U USERNAME:PASSWORD https://api.ipify.org

# Country and city (city availability varies)
curl -x http://gw.crawlrelay.com:7777 -U USERNAME-country-us-city-chicago:PASSWORD https://api.ipify.org

# Sticky: run it twice, the IP stays the same for up to 10 minutes (it can change earlier)
curl -x http://gw.crawlrelay.com:7777 -U USERNAME-country-de-session-t1-ttl-10:PASSWORD https://api.ipify.org

# SOCKS5, DNS resolved at the exit
curl --socks5-hostname gw.crawlrelay.com:7778 -U USERNAME-country-gb:PASSWORD https://api.ipify.org

Como depurar uma conexão proxy com curl?

Execute com -v e leia as linhas ao redor de CONNECT. Um túnel funcionando mostra HTTP/1.1 200 Connection established, depois o handshake TLS com o site. Qualquer outro status nessa linha veio do proxy: 407 significa credenciais, 502 ou 504 indica problema no exit ou no alvo. O formato -w abaixo imprime a mesma informação em uma linha, útil em loops e verificações CI.

Conexão CONNECT detalhada e relatório de tempo em uma linha
# Full exchange, including the proxy's answer to CONNECT
curl -v -x http://gw.crawlrelay.com:7777 -U USERNAME:PASSWORD https://example.com/ -o /dev/null

# One line: proxy CONNECT status, HTTP status, compressed bytes and timings
curl -s --compressed -o /dev/null -x http://gw.crawlrelay.com:7777 -U USERNAME-country-us:PASSWORD \
  -w 'connect=%{http_connect} http=%{http_code} bytes=%{size_download} tcp=%{time_connect}s tls=%{time_appconnect}s ttfb=%{time_starttransfer}s total=%{time_total}s\n' \
  https://example.com/

Como verificar se rotação e sessões funcionam?

Solicite o IP várias vezes. Sem um ID de sessão, cada execução é uma nova conexão e normalmente mostra IP diferente. Com ID de sessão, o IP deve permanecer o mesmo até o TTL acabar, embora possa mudar antes disso.

Rotação vs sticky em loop shell
echo "rotating:"
for i in 1 2 3 4 5; do
  curl -s -x http://gw.crawlrelay.com:7777 -U USERNAME-country-us:PASSWORD https://api.ipify.org; echo
done

echo "sticky:"
for i in 1 2 3 4 5; do
  curl -s -x http://gw.crawlrelay.com:7777 -U USERNAME-country-us-session-loop1-ttl-5:PASSWORD https://api.ipify.org; echo
done

Como usar curl com proxy no Windows?

Use curl.exe, não curl. No PowerShell 5.1 do Windows, curl é um alias para Invoke-WebRequest, que não entende -x ou -U. Windows 10 e 11 incluem o curl real como curl.exe. No PowerShell, coloque entre aspas argumentos com caracteres especiais, e escreva um $ literal em senha dentro de aspas simples.

PowerShell
curl.exe -x http://gw.crawlrelay.com:7777 -U 'USERNAME-country-fr:PASSWORD' https://api.ipify.org

Como configurar o proxy uma vez para todo comando?

curl lê as variáveis de ambiente https_proxy e http_proxy, e muitas outras ferramentas também. Defina para a sessão shell, e use NO_PROXY para hosts que não devem passar pelo proxy, como sua própria API. Evite colocar a senha em variável exportada para processos filhos em máquinas compartilhadas.

Variáveis de ambiente (bash, zsh)
export https_proxy="http://USERNAME-country-us:[email protected]:7777"
export http_proxy="$https_proxy"
export NO_PROXY="localhost,127.0.0.1,.internal.example"

curl https://api.ipify.org   # now uses the proxy
unset https_proxy http_proxy # back to direct

curl e proxies: dúvidas

Qual a diferença entre --socks5 e --socks5-hostname?

Com --socks5, curl resolve o hostname na sua máquina e envia o IP para o proxy. Com --socks5-hostname, ele manda o hostname e o proxy resolve. Use --socks5-hostname para scraping para que as respostas DNS correspondam ao país de saída, e para que seu resolvedor local não veja os domínios acessados.

Por que o curl diz 'CONEXÃO CONNECT falhou, resposta 407'?

O proxy rejeitou as credenciais ou não recebeu. Verifique usuário e senha, encode as especiais na URL -x, ou passe-as via -U. A página de erro 407](/docs/errors/407-proxy-authentication-required/) lista outras causas.

Como vejo quantos bytes uma página consome pelo proxy?

Adicione --compressed -o /dev/null -w '%{size_download}\n'. --compressed faz o curl pedir gzip ou brotli, como seu scraper, e %{size_download} conta bytes comprimidos trafegados. Sem isso, o servidor envia a página sem compressão, e o número pode ser várias vezes maior. Teste em várias páginas reais para estimar tráfego por 1.000 páginas.

Curl pode usar HTTP/2 ou HTTP/3 pelo proxy?

HTTP/2 funciona dentro do túnel CONNECT quando o site suporta, pois o túnel transporta TLS end-to-end. HTTP/3 usa UDP, que túnel CONNECT via proxy HTTP não suporta, portanto use HTTP/2 ou HTTP/1.1.

Teste seus alvos pela linha de comando

US$ 1,50 para 1 GB, suficiente para milhares de testes curl.

A partir de US$ 0,50/GB · sem KYC

Comece agora