---
title: "Como usar proxies com HTTPX"
slug: httpx-with-proxies
date: 2025-01-02T08:43:35+00:00
modified: 2025-09-16T16:38:23+00:00
permalink: https://brightdata.com.br/blog/proxies-101/httpx-with-proxies
type: blog
---

[ Blog ](https://brightdata.com.br/blog "Blog") / [Proxy 101](https://brightdata.com.br/blog/proxies-101)







 [Proxy 101](https://brightdata.com.br/blog/proxies-101)

# Como usar proxies com HTTPX

Aprenda as configurações de proxy HTTPX com exemplos de proxies não autenticados, autenticados, rotativos e alternativos.

 7 min de leitura





 [ ![Jacob Nulty](https://media.brightdata.com.br/2024/12/Jacob-Nulty-50x50.jpg) ](https://brightdata.com/blog/authors/jake-nulty)

 [Jake Nulty

Technical Writer

 ](https://brightdata.com/blog/authors/jake-nulty)





 ![How To Use Proxies With HTTPX blog image](https://media.brightdata.com.br/2025/01/How-To-Use-Proxies-With-HTTPX.svg)





Hoje, aprenderemos como usar proxies com HTTPX. Um proxy fica entre o scraper e o site que você está tentando copiar. Seu scraper faz uma solicitação ao servidor proxy do site de destino. O proxy, então, busca o site de destino e o retorna ao seu scraper.

## [](#How-To-Use-Unauthenticated-Proxies)Como usar proxies não autenticados

Em resumo, todas as nossas solicitações vão para `proxy_url`. Abaixo está um exemplo usando um proxy não autenticado. Isso significa que não estamos usando um nome de usuário ou senha. Este exemplo foi inspirado em sua[ documentação](https://www.python-httpx.org/advanced/proxies/#http-proxies).

```none
import httpx

proxy_url = "http://localhost:8030"

with httpx.Client(proxy=proxy_url) as client:
    ip_info = client.get("https://geo.brdtest.com/mygeo.json")
    print(ip_info.text)

```

## [](#How-To-Use-Authenticated-Proxies)Como usar proxies autenticados

Quando um proxy exige um nome de usuário e senha, ele é chamado de proxy “autenticado”. Essas credenciais são usadas para autenticar sua conta e fornecer uma conexão com o proxy.

Com a autenticação, nosso `proxy_url` fica assim: `http://<username>:<password>@<proxy_url>:<port_number>`. No exemplo abaixo, usamos `zone` e `username` para criar a parte do usuário da string de autenticação.

Estamos usando [proxies de datacenter](https://brightdata.com.br/proxy-types/datacenter-proxies) para nossa conexão básica.

```none
import httpx

username = "your-username"
zone = "your-zone-name"
password = "your-password"

proxy_url = f"http://brd-customer-{username}-zone-{zone}:{password}@brd.superproxy.io:33335"

ip_info = httpx.get("https://geo.brdtest.com/mygeo.json", proxy=proxy_url)

print(ip_info.text)

```

O código acima é bem simples. Essa é a base para qualquer tipo de proxy que você queira configurar.

- Primeiro, criamos nossas variáveis de configuração: `username`, `zone` e `password` (nome de usuário, zona e senha).
- Nós os usamos para criar nosso `proxy_url`: `f"http://brd-customer-{username}-zone-{zone}:{password}@brd.superproxy.io:33335"`.
- Fazemos uma solicitação à API para obter informações gerais sobre nossa conexão proxy.

Sua resposta deve ter um formato parecido com este:

```none
{"country":"US","asn":{"asnum":20473,"org_name":"AS-VULTR"},"geo":{"city":"","region":"","region_name":"","postal_code":"","latitude":37.751,"longitude":-97.822,"tz":"America/Chicago"}}

```

## [](#How-To-Use-Rotating-Proxies)Como usar proxies rotativos

Quando usamos proxies rotativos, criamos uma lista de proxies e os escolhemos aleatoriamente. No código abaixo, criamos uma lista de `países`. Quando fazemos uma solicitação, usamos `random.choice()` para usar um país aleatório da lista. Nosso `proxy_url` é formatado para se adequar ao país.

O exemplo abaixo cria uma pequena lista de [proxies r](https://brightdata.com.br/solutions/rotating-proxies)[otativos](https://brightdata.com.br/blog/proxies-101/best-rotating-proxies).

```none
import httpx
import asyncio
import random

countries = ["us", "gb", "au", "ca"]
username = "your-username"
proxy_url = "brd.superproxy.io:33335"

datacenter_zone = "your-zone"
datacenter_pass = "your-password"

for random_proxy in countries:
    print("----------connection info-------------")
    datacenter_proxy = f"http://brd-customer-{username}-zone-{datacenter_zone}-country-{random.choice(countries)}:{datacenter_pass}@{proxy_url}"

    ip_info = httpx.get("https://geo.brdtest.com/mygeo.json", proxy=datacenter_proxy)

    print(ip_info.text)

```

Esse exemplo realmente não é muito diferente do primeiro. Aqui estão as principais diferenças.

- Criamos uma matriz de países: `["us", "gb", "au", "ca"]`.
- Em vez de fazer uma única solicitação, fazemos várias. Sempre que criamos uma nova solicitação, usamos `random.choice(countries)` para escolher um país aleatório toda vez que criamos nosso `proxy_url`.

## [](#How-To-Create-a-Fallback-Proxy-Connection)Como criar uma conexão de proxy alternativa

Nos exemplos acima, usamos somente datacenter e proxies gratuitos. Proxies gratuitos não são muito confiáveis. Os proxies de datacenter tendem a ser bloqueados em sites mais difíceis.

Neste exemplo, criamos uma função chamada `safe_get()`. Quando chamamos essa função, primeiro tentamos obter o URL usando uma conexão de datacenter. Quando isso falha, *mudamos* para nossa conexão residencial.

```none
import httpx
from bs4 import BeautifulSoup
import asyncio

country = "us"
username = "your-username"
proxy_url = "brd.superproxy.io:33335"

datacenter_zone = "datacenter_proxy1"
datacenter_pass = "datacenter-password"

residential_zone = "residential_proxy1"
residential_pass = "residential-password"

cert_path = "/home/path/to/brightdata_proxy_ca/New SSL certifcate - MUST BE USED WITH PORT 33335/BrightData SSL certificate (port 33335).crt"

datacenter_proxy = f"http://brd-customer-{username}-zone-{datacenter_zone}-country-{country}:{datacenter_pass}@{proxy_url}"

residential_proxy = f"http://brd-customer-{username}-zone-{residential_zone}-country-{country}:{residential_pass}@{proxy_url}"

async def safe_get(url: str):
    async with httpx.AsyncClient(proxy=datacenter_proxy) as client:
        print("trying with datacenter")
        response = await client.get(url)
        if response.status_code == 200:
            soup = BeautifulSoup(response.text, "html.parser")
            if not soup.select_one("form[action='/errors/validateCaptcha']"):
                print("response successful")
                return response
    print("response failed")
    async with httpx.AsyncClient(proxy=residential_proxy, verify=cert_path) as client:
        print("trying with residential")
        response = await client.get(url)
        print("response successful")
        return response

async def main():
    url = "https://www.amazon.com"
    response = await safe_get(url)
    with open("out.html", "w") as file:
        file.write(response.text)

asyncio.run(main())

```

Esse exemplo é um pouco mais complicado do que os outros que abordamos neste artigo.

- Agora temos dois conjuntos de variáveis de configuração, um para nossa conexão de datacenter e outro para nossa conexão residencial.
- Desta vez, usamos uma sessão `AsyncClient()` para apresentar algumas das funcionalidades mais avançadas do HTTPX.
- Primeiro, tentamos fazer nossa solicitação com o `datacenter_proxy`.
- Se não obtivermos uma resposta adequada, tentaremos novamente a solicitação usando nosso `residential_proxy`. Observe também o sinalizador `verify` no código. Ao usar nossos proxies residenciais, você precisa baixar e usar nosso [certificado SSL](https://docs.brightdata.com/general/account/ssl-certificate).
- Assim que obtivermos uma resposta sólida, gravamos a página em um arquivo HTML. Podemos abrir esta página em nosso navegador e ver o que o proxy realmente acessou e enviou de volta para nós.

Se você tentar o código acima, sua saída e o arquivo HTML resultante devem ser muito parecidos com este.

```none
trying with datacenter
response failed
trying with residential
response successful

```

![Captura de tela da página inicial da Amazon](https://media.brightdata.com/2025/01/image-1024x490.png)## [](#How-Bright-Data-Products-Help)Como os produtos da Bright Data ajudam

Como você provavelmente notou ao longo deste artigo, nossos proxies de datacenter são muito acessíveis e nossos [proxies residenciais](https://brightdata.com.br/proxy-types/residential-proxies) oferecem uma excelente alternativa quando os proxies de datacenter não funcionam. Também fornecemos várias outras ferramentas para ajudar com suas necessidades de coleta de dados.

- [Web Unlocker](https://brightdata.com.br/products/web-unlocker): supere até mesmo os anti-bots mais difíceis. O Web Unlocker reconhece e resolve automaticamente todos os CAPTCHAs na página. Depois de passar pelos anti-bots, ele envia você de volta à página da web.
- [Scraping Browser](https://brightdata.com.br/products/scraping-browser): este produto tem ainda mais recursos. Na verdade, o Scraping Browser permite que você controle um navegador remoto com [integração de proxy](/integration) e um [solucionador CAPTCHA](https://brightdata.com.br/products/web-unlocker/captcha-solver) automatizado.
- [APIs do Web Scraper](https://brightdata.com.br/products/web-scraper): com essas APIs, fazemos a coleta para você. Tudo o que você precisa fazer é chamar a API e analisar os dados JSON que recebe na resposta.
- [Conjuntos de dados](https://brightdata.com.br/products/datasets): explore nosso mercado de conjuntos de dados para encontrar centenas de conjuntos de dados pré-coletados ou solicitar/criar um personalizado. Você pode escolher uma taxa de atualização e filtrar somente os pontos de dados necessários.

## [](#Conclusion)Conclusão

Quando você combina HTTPX com nossos proxies, você obtém uma maneira privada, eficiente e confiável de navegar na web. Se você quiser rotacionar proxies, é tão simples quanto usar a biblioteca integrada `random` do Python. Com uma combinação de datacenter e proxies residenciais, você pode criar uma conexão redundante que ultrapassa a maioria dos sistemas de bloqueio.

Como você aprendeu, a Bright Data oferece o pacote completo para seus projetos de web scraping. Comece seu teste gratuito com os proxies da Bright Data hoje mesmo!



Teste grátis[Registro no Google![google social icon](/wp-content/themes/brightdata/assets/images/ic_google.svg)![google social icon](/wp-content/themes/brightdata/assets/images/ic_google.svg)](# "Start free with Google")









 Índice







400M+ Residential Proxies

**Get 50% off** on residential proxies for 6 months! Use code **RESIGB50**.

[See pricing](/pricing/proxy-network/residential-proxies "See pricing")

1.3M+ Datacenter Proxies

Pay only for the IP, starting from $0.90.

[See pricing](/pricing/proxy-network/datacenter-proxies "See pricing")







 [ ](https://news.ycombinator.com/submitlink?t=Como+usar+proxies+com+HTTPX&u=https://brightdata.com.br/blog/proxies-101/httpx-with-proxies) [ ](https://www.linkedin.com/shareArticle?mini=true&title=Como+usar+proxies+com+HTTPX&url=https://brightdata.com.br/blog/proxies-101/httpx-with-proxies) [ ](http://www.reddit.com/submit?title=Como+usar+proxies+com+HTTPX&url=https://brightdata.com.br/blog/proxies-101/httpx-with-proxies)







##  Você também pode estar interessado em

 [ ![OpenHuman with Bright Data](https://media.brightdata.com.br/2026/09/OpenHuman-with-Bright-Data.png) ](https://brightdata.com.br/blog/ai/openhuman-with-bright-data "Acesso à Web Pronto para Produção no OpenHuman Através do Bright Data CLI")

 [AI



 ![Antonello Zanini](https://media.brightdata.com.br/2022/12/Antonello-Zanini-2-50x50.jpg)

Antonello Zanini

Technical Writer





### Acesso à Web Pronto para Produção no OpenHuman Através do Bright Data CLI

Integre o Bright Data CLI ao OpenHuman para habilitar acesso à web pronto para produção e coleta de dados para agentes de IA.



 09-Sep-2026

 14 min de leitura

 ](https://brightdata.com.br/blog/ai/openhuman-with-bright-data)

 [ ![Multimodal Web Scraping with MiniMax](https://media.brightdata.com.br/2026/09/Multimodal-Web-Scraping-with-MiniMax.png) ](https://brightdata.com.br/blog/dados-do-site/multimodal-web-scraping-with-minimax "Scraping de Dados Multimodal com MiniMax")

 [Dados do site



 ![Antonello Zanini](https://media.brightdata.com.br/2022/12/Antonello-Zanini-2-50x50.jpg)

Antonello Zanini

Technical Writer





### Scraping de Dados Multimodal com MiniMax

Combine a API Web Unlocker da Bright Data com a visão MiniMax M3 para extrair dados estruturados de imagens e capturas de tela de páginas web.



 09-Sep-2026

 5 min de leitura

 ](https://brightdata.com.br/blog/dados-do-site/multimodal-web-scraping-with-minimax)

 [ ![The 10 Best CLI Tools for Codex in 2026](https://media.brightdata.com.br/2026/08/The-10-Best-CLI-Tools-for-Codex-in-2026.png) ](https://brightdata.com.br/blog/ai/best-cli-tools-for-codex "As 10 Melhores Ferramentas CLI para Codex em 2026 – Testadas & Classificadas")

 [AI



 ![Daniel Shashko](https://media.brightdata.com.br/2022/04/Daniel-Shashko-2-50x50.png)

Daniel Shashko

Web Data &amp; AI Expert





### As 10 Melhores Ferramentas CLI para Codex em 2026 – Testadas &amp; Classificadas

As 10 ferramentas CLI que tornam o Codex mais rápido e capaz, começando com o Bright Data CLI para acesso real à web de dentro do sandbox.



 06-Sep-2026

 24 min de leitura

 ](https://brightdata.com.br/blog/ai/best-cli-tools-for-codex)
