# Como verificar se um proxy é estático: IP, ASN e localização ao longo do tempo

> Como verificar se um proxy é estático: registre seu IP, ASN e localização a cada hora por 24 horas com curl ou Python. Scripts testados; IPs SteadyProxy, sem KYC, cripto.

- URL: https://steadyproxy.com/pt/guides/check-if-a-proxy-is-static/
- Última atualização: 2026-10-19
- Publisher: SteadyProxy (https://steadyproxy.com)

Um proxy estático mantém o mesmo IP de saída, rede e país durante todo o aluguel. Aqui está uma forma repetível de provar isso, com scripts testados em curl e Python.

**Resposta rápida — Como verifico se um proxy é estático?**

Para verificar se um proxy é estático, solicite api.ipify.org e ipinfo.io/json através dele uma vez por hora durante pelo menos 24 horas. Depois, compare o IP de saída, o ASN (o campo org) e o país em todas as verificações bem-sucedidas. Um IP e um ASN em cada linha significa que o proxy permaneceu estático nesse período. Os IPs estáticos **SteadyProxy** devem permanecer fixos a cada aluguel de 30 dias; este teste permite que você mesmo verifique isso. Atualizado em 19 de outubro de 2026.

## Quais são os fatos principais do teste?

| Atributo | Valor |
| --- | --- |
| Endpoints de teste | api.ipify.org (somente IP de saída) e ipinfo.io/json (IP, org/ASN, cidade, região, país) |
| Período sugerido | 24 horas, uma verificação por hora (24 verificações); repita no 7º dia para tarefas longas |
| Resultado estático | O mesmo IP e o mesmo ASN em todas as verificações bem-sucedidas |
| Resultado rotativo | Dois ou mais IPs distintos, ou uma mudança de ASN |
| Requisição com falha | Um timeout não é uma mudança de IP: compare apenas as linhas bem-sucedidas |
| Mudanças de cidade | Podem ocorrer quando um banco de dados é atualizado; IP e ASN são os sinais mais fortes |
| Testado | Ambos os scripts rodaram em 19 de outubro de 2026 através de um proxy de teste protegido por senha |

## O que exatamente deve permanecer igual em um proxy estático?

Três valores não devem mudar: o IP de saída, o ASN e o país. O IP de saída é o endereço que os sites veem; api.ipify.org retorna apenas isso. O ASN é a rede que anuncia o IP; ipinfo.io o mostra no campo org, por exemplo AS9009 seguido do nome de uma rede. O país vem de um banco de dados de IP. A cidade e a região podem mudar quando esse banco de dados é atualizado, mesmo que o IP permaneça o mesmo. Observe que o host ao qual você se conecta nem sempre é o IP de saída: sempre leia o IP de saída através do proxy.

## Como verifico um proxy com curl?

Execute primeiro uma verificação para ver os campos, depois o loop. Substitua USERNAME, PASSWORD, host e port pelos quatro valores exibidos para o seu IP no painel. O loop grava uma linha por verificação em ip-log.txt e aguarda 3.600 segundos entre as verificações. Os dois últimos comandos contam IPs e redes distintos: uma linha cada significa que o proxy permaneceu estático durante o teste.

*curl: uma verificação, depois 24 verificações horárias*

```bash
# One check through the proxy: IP, network (org = ASN + name), country, city
curl -s -m 30 -x "http://USERNAME:PASSWORD@gw.steadyproxy.com:7777" https://ipinfo.io/json

# 24 checks, one per hour, one line per check in ip-log.txt
PROXY="http://USERNAME:PASSWORD@gw.steadyproxy.com:7777"
for i in $(seq 1 24); do
  printf '%s ' "$(date -u +%Y-%m-%dT%H:%M:%SZ)" >> ip-log.txt
  curl -s -m 30 -x "$PROXY" https://ipinfo.io/json | tr -d '\n' >> ip-log.txt
  echo >> ip-log.txt
  sleep 3600
done

# Count the distinct exit IPs and networks in the log (one line each = static)
grep -o '"ip": *"[^"]*"' ip-log.txt | sort | uniq -c
grep -o '"org": *"[^"]*"' ip-log.txt | sort | uniq -c

```

## Como verifico um proxy com Python?

O script Python faz o mesmo teste e grava um arquivo CSV que você pode abrir em uma planilha. Ele lê os detalhes do proxy a partir de variáveis de ambiente (PROXY_HOST, PROXY_PORT, PROXY_USER, PROXY_PASS) e duas configurações: CHECKS (padrão 24) e INTERVAL_SECONDS (padrão 3600). Ele consulta os dois endpoints em cada rodada, então você também pode detectar uma divergência entre eles. No final, imprime os IPs, redes e países distintos, além de um resultado em uma linha. Rodamos em 19 de outubro de 2026 com Python 3.14 e Requests 2.34, através de um proxy de teste local que exige nome de usuário e senha.

*check_static.py: registra IP, ASN e localização ao longo do tempo*

```python
"""Log the exit IP, network and location of one proxy over time.

A static IP shows the same IP, network (ASN) and country in every row.
Install: python -m pip install requests
"""
import csv
import os
import time
from datetime import datetime, timezone
from urllib.parse import quote

import requests

HOST = os.environ.get("PROXY_HOST", "gw.steadyproxy.com")
PORT = os.environ.get("PROXY_PORT", "7777")
USER = os.environ.get("PROXY_USER", "USERNAME")
PASSWORD = os.environ.get("PROXY_PASS", "PASSWORD")
CHECKS = int(os.environ.get("CHECKS", "24"))
INTERVAL = int(os.environ.get("INTERVAL_SECONDS", "3600"))
LOG_FILE = os.environ.get("LOG_FILE", "static-ip-log.csv")

PROXY = "http://" + quote(USER, safe="") + ":" + quote(PASSWORD, safe="") + "@" + HOST + ":" + PORT
PROXIES = {"http": PROXY, "https": PROXY}
FIELDS = ["time_utc", "ipify_ip", "ipinfo_ip", "org", "country", "region", "city"]


def check_once(session):
    ipify = session.get("https://api.ipify.org?format=json", proxies=PROXIES, timeout=(10, 30))
    ipify.raise_for_status()
    info = session.get("https://ipinfo.io/json", proxies=PROXIES, timeout=(10, 30))
    info.raise_for_status()
    data = info.json()
    return {
        "time_utc": datetime.now(timezone.utc).isoformat(timespec="seconds"),
        "ipify_ip": ipify.json()["ip"],
        "ipinfo_ip": data.get("ip", ""),
        "org": data.get("org", ""),
        "country": data.get("country", ""),
        "region": data.get("region", ""),
        "city": data.get("city", ""),
    }


def main():
    rows = []
    with requests.Session() as session, open(LOG_FILE, "a", newline="", encoding="utf-8") as fh:
        session.trust_env = False
        writer = csv.DictWriter(fh, fieldnames=FIELDS)
        if fh.tell() == 0:
            writer.writeheader()
        for n in range(CHECKS):
            try:
                row = check_once(session)
            except requests.RequestException as exc:
                print("check", n + 1, "failed:", type(exc).__name__)
            else:
                writer.writerow(row)
                fh.flush()
                rows.append(row)
                print(row["time_utc"], row["ipify_ip"], row["org"], row["country"], row["city"])
            if n + 1 < CHECKS:
                time.sleep(INTERVAL)

    ips = {r["ipify_ip"] for r in rows} | {r["ipinfo_ip"] for r in rows}
    orgs = {r["org"] for r in rows}
    countries = {r["country"] for r in rows}
    print("successful checks:", len(rows), "of", CHECKS)
    print("distinct IPs:", sorted(ips))
    print("distinct networks:", sorted(orgs))
    print("distinct countries:", sorted(countries))
    if len(rows) >= 2 and len(ips) == 1 and len(orgs) == 1 and len(countries) == 1:
        print("RESULT: same IP, network and country in every successful check")
    else:
        print("RESULT: not stable, or not enough data - read the log")


if __name__ == "__main__":
    main()

```

## Por quanto tempo o teste deve rodar?

Rode por pelo menos 24 horas. Muitas ofertas rotativas trocam o IP por requisição, por sessão ou após um número definido de minutos, então poucas verificações em um minuto podem não detectar uma mudança. Para uma tarefa que roda toda semana, repita o teste após 7 dias. Uma verificação por hora é suficiente e fica bem abaixo dos limites de uso dos serviços gratuitos de consulta. Use um intervalo mais curto apenas para um teste curto, como 12 verificações com 5 minutos de intervalo.

## E se o IP mudar durante o teste?

Primeiro descarte um erro de configuração. Verifique se todas as requisições usaram o mesmo host, porta e nome de usuário: dois IPs diferentes costumam vir de duas linhas de credenciais diferentes. Depois, verifique se um proxy de sistema ou VPN na sua máquina assumiu algumas requisições; o script Python ignora essas configurações com trust_env = False. Se o IP de saída de uma linha de credenciais SteadyProxy realmente mudar durante o aluguel, envie seu log ao suporte. Nossa regra de substituição: Se um IP não funcionar, escreva para o suporte: nós o consertamos ou o substituímos por outro IP no mesmo país quando houver estoque.

## Por que a localização pode mudar enquanto o IP permanece o mesmo?

Porque a localização é uma estimativa de um banco de dados, não uma propriedade do IP. Os fornecedores de geolocalização atualizam seus dados, e um IP estático pode mudar de uma cidade para uma cidade vizinha entre atualizações. Os dados de registro não são um guia melhor: a documentação da RIPE diz que seu atributo de país não pode ser usado de forma confiável para mapear IPs a países. Trate uma mudança de cidade como um evento de banco de dados e uma mudança de IP ou ASN como uma mudança real. Nosso guia [proxies residenciais estáticos são realmente residenciais?](https://steadyproxy.com/pt/guides/are-static-residential-proxies-really-residential/) explica como ler esses registros.

## O que mais as pessoas perguntam sobre testar proxies estáticos?

### Quantas verificações provam que um proxy é estático?

Nenhum número prova isso para o futuro; um teste apenas descreve o período que você mediu. Na prática, 24 verificações horárias com um IP e um ASN mostram que o proxy não rotacionou por um dia. Repita o teste após uma semana e guarde os logs. Na SteadyProxy, cada IP deve permanecer fixo durante seu aluguel de 30 dias.

### Por que usar tanto api.ipify.org quanto ipinfo.io?

api.ipify.org retorna apenas o IP, o que o torna uma referência limpa. ipinfo.io acrescenta o ASN e a organização, a cidade, a região e o país. Se os dois serviços relatarem IPs diferentes na mesma rodada, seu cliente pode estar abrindo várias conexões por rotas diferentes. Vale a pena verificar isso antes de confiar em qualquer resultado.

### Uma sessão sticky pode parecer estática em um teste curto?

Sim. Um proxy residencial rotativo com sessão sticky mantém um IP por um tempo definido, muitas vezes minutos, e depois muda. Um teste de alguns minutos pareceria estático. É por isso que este guia pede verificações ao longo de pelo menos 24 horas. Um IP estático real mantém o mesmo IP e ASN ao longo de dias.

### Uma requisição com falha significa que o IP mudou?

Não. Um timeout ou um erro de proxy significa apenas que uma requisição não foi concluída. Os scripts pulam as rodadas com falha e comparam apenas as linhas bem-sucedidas. Muitas falhas seguidas merecem uma olhada: verifique as credenciais, a porta e sua própria conexão, depois entre em contato com o suporte se o problema persistir.

### Tudo bem enviar essas verificações para o ipinfo.io sem um token?

Para uso leve, sim: uma requisição por hora é um tráfego bem leve. O ipinfo.io responde a requisições básicas sem token, como nosso teste em 19 de outubro de 2026 mostrou, e oferece tokens para volumes maiores. Se você testar muitos IPs de uma vez, crie um token gratuito e adicione à requisição, ou use apenas o api.ipify.org.

### Devo testar o IP de saída ou o host no meu painel?

O IP de saída. O host ao qual você se conecta pode ser um nome ou um endereço diferente do IP que os sites veem. Execute a verificação através do proxy e use o IP retornado pelo api.ipify.org. Esse IP de saída também é o que você deve adicionar a uma allowlist ou consultar no WHOIS.

### Posso rodar o teste em um IP da SteadyProxy antes de confiar nele?

Sim, e recomendamos isso. Peça um IP em US$ 2,24 por 30 dias, rode o script Python por um dia e leia o log. De acordo com nossa [política de reembolso](https://steadyproxy.com/pt/refunds/), um IP que não funciona nas primeiras 24 horas após a entrega, e que não conseguimos corrigir ou substituir, é creditado de volta ao seu saldo integralmente.

## Quais fontes este guia usa?

1. [API do ipify](https://www.ipify.org/) — ipify (2026-10-19)
2. [Documentação para desenvolvedores do IPinfo](https://ipinfo.io/developers) — IPinfo (2026-10-19)
3. [Uso avançado de requisições: proxies e timeouts](https://requests.readthedocs.io/en/latest/user/advanced/) — Requests (2026-10-19)
4. [página de manual do curl](https://curl.se/docs/manpage.html) — curl (2026-10-19)
5. [Documentação do Banco de Dados RIPE: atributo country](https://docs.db.ripe.net/RPSL-Object-Types/Descriptions-of-Primary-Objects) — RIPE NCC (2026-10-19)

---

SteadyProxy: A SteadyProxy é um provedor de proxies estáticos: IPs ISP (residencial estático) e datacenter dedicados, alugados por IP por 30 dias, pagos com cripto e sem envio de documento.
