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?
| 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.
# One check through the proxy: IP, network (org = ASN + name), country, city
curl -s -m 30 -x "http://USERNAME:[email protected]:7777" https://ipinfo.io/json
# 24 checks, one per hour, one line per check in ip-log.txt
PROXY="http://USERNAME:[email protected]: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.
"""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? 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, 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? (5)
- API do ipify — ipify (2026-10-19)
- Documentação para desenvolvedores do IPinfo — IPinfo (2026-10-19)
- Uso avançado de requisições: proxies e timeouts — Requests (2026-10-19)
- página de manual do curl — curl (2026-10-19)
- Documentação do Banco de Dados RIPE: atributo country — RIPE NCC (2026-10-19)