🎯 Um navegador em nuvem personalizável e anti-detecção alimentado por Chromium desenvolvido internamente, projetado para rastreadores web e agentes de IA. 👉Experimente agora
De volta ao blog

Como Usar um Proxy com HTTPX em Python para Requisições Anônimas

Sophia Martinez
Sophia Martinez

Specialist in Anti-Bot Strategies

18-Dec-2025
Dê uma Olhada Rápida

Aumente sua automação e raspagem com Scrapeless Proxies — rápido, confiável e acessível.

HTTPX é um cliente HTTP moderno e completo para Python que suporta tanto solicitações síncronas quanto assíncronas. Ao realizar raspagem na web ou fazer inúmeras chamadas de API, integrar um proxy é um passo crítico para manter a anonimidade e gerenciar o volume de solicitações. O HTTPX torna a configuração do proxy simples, suportando tanto configurações básicas quanto autenticadas.

Configuração Básica de Proxy no HTTPX

O HTTPX permite que você defina proxies usando um dicionário que mapeia o protocolo (http:// ou https://) para a URL do proxy. A URL do proxy segue o formato padrão: <PROTOCOL>://<IP_ADDRESS>:<PORT>.

python Copy
import httpx

# Defina suas configurações de proxy
proxies = {
    "http://": "http://216.137.184.253:80",
    "https://": "http://216.137.184.253:80"
}

# Faça uma requisição com o proxy especificado
try:
    r = httpx.get("https://httpbin.io/ip", proxies=proxies)
    print(f"IP da Resposta: {r.json().get('origin')}")
except httpx.ProxyError as e:
    print(f"Conexão de proxy falhou: {e}")

Alternativamente, você pode configurar o proxy ao inicializar uma instância de httpx.Client, que é a abordagem recomendada para fazer várias requisições ao mesmo destino, pois reutiliza a conexão [4].

python Copy
import httpx

proxy_url = "http://216.137.184.253:80"

with httpx.Client(proxies=proxy_url) as client:
    r = client.get("https://httpbin.io/ip")
    print(f"IP da Resposta: {r.json().get('origin')}")

Lidando com Autenticação de Proxy

Para proxies que requerem um nome de usuário e senha, o HTTPX suporta embutir as credenciais diretamente na URL do proxy. O formato é http://<USERNAME>:<PASSWORD>@<IP_ADDRESS>:<PORT>.

python Copy
import httpx

# URL do proxy com credenciais embutidas
proxy_url = "http://<SEU_NOME_DE_USUÁRIO>:<SUA_SENHA>@proxy.scrapeless.com:1337"

with httpx.Client(proxies=proxy_url) as client:
    r = client.get("https://httpbin.io/ip")
    print(f"IP da Resposta: {r.json().get('origin')}")

Implementando Rotação de Proxy

Para evitar detecções e manter altas taxas de sucesso, você deve rotacionar seus proxies. Isso envolve manter uma lista de endpoints de proxy e selecionar aleatoriamente um para cada requisição ou sessão. Isso é particularmente eficaz quando combinado com uma biblioteca de raspagem robusta.

python Copy
import httpx
import random

# Lista de URLs de proxy (por exemplo, do seu painel Scrapeless)
proxy_urls = [
    "http://user:pass@proxy1.scrapeless.com:10000",
    "http://user:pass@proxy2.scrapeless.com:10001",
    "http://user:pass@proxy3.scrapeless.com:10002",
]

def make_proxied_request(url):
    # Seleciona um proxy aleatório para a requisição
    random_proxy = random.choice(proxy_urls)
    
    # Configura o proxy para o cliente
    proxies = {
        "http://": random_proxy,
        "https://": random_proxy
    }

    try:
        with httpx.Client(proxies=proxies, timeout=10.0) as client:
            response = client.get(url)
            response.raise_for_status()
            return response
    except httpx.RequestError as e:
        print(f"Ocorreu um erro ao solicitar {url} via proxy {random_proxy}: {e}")
        return None

# Exemplo de uso
response = make_proxied_request("https://targetwebsite.com/data")
if response:
    print(f"Dados raspados com sucesso com código de status: {response.status_code}")

Solução de Proxy Recomendada: Scrapeless Proxies

Para raspagem assíncrona de alto volume com o HTTPX, uma infraestrutura de proxy confiável é fundamental. Scrapeless Proxies são projetados para desempenho e discrição, oferecendo um pool diversificado de IPs que minimizam o risco de bloqueio. Seus Proxies Residenciais e Proxies ISP Estáticos são particularmente eficazes para raspagem baseada em Python, fornecendo o alto nível de confiança necessário para acessar alvos complexos.

Perguntas Frequentes (FAQ)

P: O HTTPX suporta proxies SOCKS?
R: Sim, o HTTPX suporta proxies SOCKS. Você precisa apenas especificar o protocolo SOCKS na URL do proxy, por exemplo: socks5://user:pass@ip:port [5].

P: Qual é a vantagem de usar httpx.Client em vez de httpx.get() simples?
R: Usar httpx.Client permite o agrupamento de conexões e o gerenciamento de sessões, o que é mais eficiente ao fazer múltiplas requisições. Também permite definir parâmetros padrão, como proxies, para todas as requisições feitas dentro daquela sessão do cliente.

P: Como faço para lidar com erros de proxy no HTTPX?
R: O HTTPX levanta exceções específicas para problemas de rede. Você deve envolver suas requisições em um bloco try...except e capturar httpx.ProxyError ou o mais geral httpx.RequestError para implementar a lógica de repetição ou mudar para um proxy diferente.

Na Scorretless, acessamos apenas dados disponíveis ao público, enquanto cumprem estritamente as leis, regulamentos e políticas de privacidade do site aplicáveis. O conteúdo deste blog é apenas para fins de demonstração e não envolve atividades ilegais ou infratoras. Não temos garantias e negamos toda a responsabilidade pelo uso de informações deste blog ou links de terceiros. Antes de se envolver em qualquer atividade de raspagem, consulte seu consultor jurídico e revise os termos de serviço do site de destino ou obtenha as permissões necessárias.

Artigos mais populares

Catálogo