ProxyHealthList

Início / Casos de uso / Python requests

Como usar um proxy no Python requests

Todas as formas de rotear requests por um proxy — HTTP, HTTPS, SOCKS5, variáveis de ambiente, sessões e rotação — com proxies de uma lista gratuita verificada a cada hora.

Lista HTTP (TXT) Lista SOCKS5 (TXT)

Proxy HTTP / HTTPS básico

A forma mais simples — um proxy lida com destinos http e https, sem pacotes extras.

import requests

proxy = "http://1.2.3.4:8080"
r = requests.get(
    "https://httpbin.org/ip",
    proxies={"http": proxy, "https": proxy},
    timeout=10,
)
print(r.json())

Proxy SOCKS5

Instale o suporte a SOCKS uma vez e use o esquema socks5h:// para o DNS resolver pelo proxy.

pip install "requests[socks]"
proxy = "socks5h://1.2.3.4:1080"
r = requests.get("https://httpbin.org/ip",
                 proxies={"http": proxy, "https": proxy}, timeout=10)

Proxy para uma sessão inteira

s = requests.Session()
s.proxies = {"http": "http://1.2.3.4:8080", "https": "http://1.2.3.4:8080"}
s.get("https://example.com")

Variáveis de ambiente

export HTTP_PROXY="http://1.2.3.4:8080"
export HTTPS_PROXY="http://1.2.3.4:8080"
python your_script.py

Perguntas frequentes

Por que minha requisição com proxy dá timeout?

Proxies gratuitos são instáveis. Use um timeout curto e pule para o próximo ao falhar.

http:// ou socks5h://?

Use http:// para HTTP e socks5h:// para SOCKS5; o h resolve o DNS remotamente.

Funciona com httpx ou aiohttp?

Sim — os mesmos host:port funcionam com URLs de proxy na mesma forma.

Relacionado