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

> Exemplos de proxy curl: -x e -U, SOCKS5 com --socks5-hostname, sessões fixas, status CONNECT e tempos com -w, curl.exe no Windows.

- URL: https://crawlrelay.com/pt/docs/curl/
- Última atualização: 2026-10-13
- Publisher: CrawlRelay (https://crawlrelay.com)

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.

**Resposta rápida — Como usar um proxy com curl?**

Use `curl -x http://USERNAME:PASSWORD@gw.crawlrelay.com: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

| Atributo | Valor |
| --- | --- |
| `-x` / `--proxy` | URL do proxy: `http://host:port`, credenciais opcionais na URL |
| `-U` / `--proxy-user` | Credenciais do proxy como `USERNAME:PASSWORD`, mantidas fora da URL |
| `--socks5-hostname` | Proxy SOCKS5 com DNS resolvido na saída |
| `-v` | Mostra a troca CONNECT e a linha de status do proxy |
| `-w` | Exibe temporização, tamanho e `%{http_connect}`, o status CONNECT do proxy |
| `--max-time`, `--connect-timeout` | Limites 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*

```bash
# 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*

```bash
# 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*

```bash
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*

```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)*

```bash
export https_proxy="http://USERNAME-country-us:PASSWORD@gw.crawlrelay.com: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](https://crawlrelay.com/pt/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. [Escolha 1 GB](https://crawlrelay.com/app/checkout/?plan=res-1&product=residential&lang=pt) · [Referência de erros](https://crawlrelay.com/pt/docs/errors/)

---

CrawlRelay: CrawlRelay é um serviço proxy residencial rotativo e proxies móveis 4G/5G para desenvolvedores, para scrapers e pipelines de dados de IA: tráfego pay-as-you-go que não expira a partir de US$ 0,50/GB, pago com cripto, sem upload de documento. Sem KYC — sem ID, sem selfie, sem documentos. Pague com cripto.
