# Jak sprawdzić, czy proxy jest statyczne: IP, ASN i lokalizacja w czasie

> Jak sprawdzić, czy proxy jest statyczne: zapisuj jego IP, ASN i lokalizację co godzinę przez 24 godziny za pomocą curl lub Python. Przetestowane skrypty; adresy IP SteadyProxy, bez KYC, kryptowaluty.

- URL: https://steadyproxy.com/pl/guides/check-if-a-proxy-is-static/
- Ostatnia aktualizacja: 2026-10-19
- Publisher: SteadyProxy (https://steadyproxy.com)

Statyczne proxy zachowuje ten sam adres IP wyjściowy, sieć i kraj przez cały okres wynajmu. Oto powtarzalny sposób, aby to udowodnić, z przetestowanymi skryptami curl i Python.

**Szybka odpowiedź — Jak sprawdzić, czy proxy jest statyczne?**

Aby sprawdzić, czy proxy jest statyczne, odpytuj przez nie api.ipify.org i ipinfo.io/json raz na godzinę przez co najmniej 24 godziny. Następnie porównaj wyjściowe IP, ASN (pole org) i kraj we wszystkich udanych sprawdzeniach. Jeden IP i jeden ASN w każdym wierszu oznacza, że proxy pozostało statyczne w tym okresie. **SteadyProxy** statyczne IP mają pozostać stałe przez każdy 30-dniowy okres najmu; ten test pozwala zweryfikować to samodzielnie. Zaktualizowano 19 października 2026.

## Jakie są kluczowe fakty dotyczące testu?

| Atrybut | Wartość |
| --- | --- |
| Punkty końcowe testu | api.ipify.org (tylko wyjściowe IP) i ipinfo.io/json (IP, org/ASN, miasto, region, kraj) |
| Sugerowane okno | 24 godziny, jedno sprawdzenie na godzinę (24 sprawdzenia); powtórz siódmego dnia przy długich zadaniach |
| Wynik statyczny | Ten sam IP i ten sam ASN w każdym udanym sprawdzeniu |
| Wynik rotacyjny | Dwa lub więcej różnych IP albo zmiana ASN |
| Nieudane żądanie | Przekroczenie limitu czasu to nie zmiana IP: porównuj tylko udane wiersze |
| Zmiany miasta | Mogą wystąpić, gdy baza danych się aktualizuje; IP i ASN to mocniejsze sygnały |
| Testowano | Oba skrypty uruchomiono 19 października 2026 przez testowe proxy chronione hasłem |

## Co dokładnie powinno pozostać takie samo na statycznym proxy?

Trzy wartości nie mogą się zmienić: wyjściowe IP, ASN i kraj. Wyjściowe IP to adres, który widzą strony internetowe; api.ipify.org zwraca tylko ten adres. ASN to sieć, która ogłasza dany IP; ipinfo.io pokazuje go w polu org, na przykład AS9009, po którym następuje nazwa sieci. Kraj pochodzi z bazy danych IP. Miasto i region mogą się zmienić, gdy ta baza zostanie zaktualizowana, nawet jeśli IP pozostaje takie samo. Pamiętaj, że host, z którym się łączysz, nie zawsze jest wyjściowym IP: zawsze odczytuj wyjściowe IP przez proxy.

## Jak sprawdzić proxy za pomocą curl?

Najpierw uruchom jedno sprawdzenie, aby zobaczyć pola, potem pętlę. Zastąp USERNAME, PASSWORD, host i port czterema wartościami pokazanymi dla Twojego IP w panelu. Pętla zapisuje jedną linię na sprawdzenie do ip-log.txt i czeka 3600 sekund między sprawdzeniami. Dwie ostatnie komendy liczą różne IP i sieci: po jednej linii każda oznacza, że proxy pozostało statyczne podczas testu.

*curl: jedno sprawdzenie, potem 24 sprawdzenia co godzinę*

```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

```

## Jak sprawdzić proxy za pomocą Pythona?

Skrypt w Pythonie wykonuje ten sam test i zapisuje plik CSV, który można otworzyć w arkuszu kalkulacyjnym. Odczytuje dane proxy ze zmiennych środowiskowych (PROXY_HOST, PROXY_PORT, PROXY_USER, PROXY_PASS) oraz dwa ustawienia: CHECKS (domyślnie 24) i INTERVAL_SECONDS (domyślnie 3600). W każdej rundzie odpytuje oba punkty końcowe, więc można też wychwycić niezgodność między nimi. Na końcu wypisuje różne IP, sieci i kraje oraz jednolinijkowy wynik. Uruchomiliśmy go 19 października 2026 z Pythonem 3.14 i Requests 2.34, przez lokalne testowe proxy wymagające nazwy użytkownika i hasła.

*check_static.py: rejestruj IP, ASN i lokalizację w czasie*

```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()

```

## Jak długo powinien trwać test?

Uruchamiaj go przez co najmniej 24 godziny. Wiele ofert rotacyjnych zmienia IP na żądanie, na sesję lub po określonej liczbie minut, więc kilka sprawdzeń w ciągu minuty może pominąć zmianę. Przy zadaniu uruchamianym co tydzień powtórz test po 7 dniach. Jedno sprawdzenie na godzinę wystarczy i pozostaje znacznie poniżej limitów darmowych usług wyszukiwania. Krótszy interwał stosuj tylko do krótkiego testu, na przykład 12 sprawdzeń co 5 minut.

## Co jeśli IP zmieni się podczas testu?

Najpierw wyklucz błąd konfiguracji. Sprawdź, czy każde żądanie używało tego samego hosta, portu i nazwy użytkownika: dwa różne IP często pochodzą z dwóch różnych linii danych uwierzytelniających. Następnie sprawdź, czy proxy systemowe lub VPN na Twojej maszynie nie przejęło części żądań; skrypt w Pythonie ignoruje takie ustawienia za pomocą trust_env = False. Jeśli wyjściowe IP jednej linii danych uwierzytelniających SteadyProxy naprawdę zmienia się w trakcie najmu, wyślij log do pomocy technicznej. Nasza zasada wymiany: Jeśli IP nie działa, napisz do pomocy technicznej: naprawimy je lub wymienimy na inne IP w tym samym kraju, jeśli pozwolą na to zapasy.

## Dlaczego lokalizacja może się zmienić, gdy IP pozostaje takie samo?

Ponieważ lokalizacja to szacunek z bazy danych, a nie właściwość IP. Dostawcy geolokalizacji aktualizują swoje dane, a statyczne IP może przejść z jednego miasta do pobliskiego między aktualizacjami. Dane rejestrowe nie są lepszym przewodnikiem: dokumentacja RIPE mówi, że jej atrybut kraju nie może być wiarygodnie używany do mapowania IP na kraje. Traktuj zmianę miasta jako zdarzenie w bazie danych, a zmianę IP lub ASN jako rzeczywistą zmianę. Nasz przewodnik [are static residential proxies really residential?](https://steadyproxy.com/pl/guides/are-static-residential-proxies-really-residential/) wyjaśnia, jak odczytywać te rekordy.

## O co jeszcze ludzie pytają w kwestii testowania statycznych proxy?

### Ile sprawdzeń dowodzi, że proxy jest statyczne?

Żadna liczba nie dowodzi tego na przyszłość; test opisuje tylko zmierzone okno. W praktyce 24 sprawdzenia co godzinę z jednym IP i jednym ASN pokazują, że proxy nie rotowało przez dobę. Powtórz test po tygodniu i zachowaj logi. W SteadyProxy każde IP ma pozostać stałe przez swój 30-dniowy najem.

### Dlaczego używać zarówno api.ipify.org, jak i ipinfo.io?

api.ipify.org zwraca tylko IP, co czyni go czystym punktem odniesienia. ipinfo.io dodaje ASN i organizację, miasto, region i kraj. Jeśli obie usługi kiedykolwiek zgłoszą różne IP w tej samej rundzie, Twój klient może otwierać kilka połączeń przez różne trasy. Warto to sprawdzić, zanim zaufasz jakiemukolwiek wynikowi.

### Czy sesja sticky może wyglądać na statyczną w krótkim teście?

Tak. Rotacyjne proxy rezydencjalne z sesją sticky utrzymuje jeden IP przez określony czas, często minuty, potem go zmienia. Test trwający kilka minut wyglądałby na statyczny. Dlatego ten przewodnik wymaga sprawdzeń przez co najmniej 24 godziny. Prawdziwe statyczne IP utrzymuje ten sam IP i ASN przez dni.

### Czy nieudane żądanie oznacza, że IP się zmieniło?

Nie. Przekroczenie limitu czasu lub błąd proxy oznacza jedynie, że jedno żądanie nie zostało ukończone. Skrypty pomijają nieudane rundy i porównują tylko udane wiersze. Wiele awarii pod rząd zasługuje na sprawdzenie: zweryfikuj dane uwierzytelniające, port i własne połączenie, a następnie skontaktuj się z pomocą techniczną, jeśli problem się utrzymuje.

### Czy można wysyłać te testy do ipinfo.io bez tokena?

Przy lekkim użyciu tak: jedno żądanie na godzinę to bardzo mały ruch. ipinfo.io odpowiada na podstawowe żądania bez tokena, jak pokazał nasz test z 19 października 2026 r., i oferuje tokeny przy większych wolumenach. Jeśli testujesz wiele IP naraz, utwórz darmowy token i dodaj go do żądania albo użyj samego api.ipify.org.

### Czy w panelu powinienem testować wyjściowe IP czy hosta?

Wyjściowe IP. Host, z którym się łączysz, może być nazwą lub adresem innym niż IP widoczne dla stron internetowych. Uruchom test przez proxy i użyj IP zwróconego przez api.ipify.org. To wyjściowe IP należy też dodać do listy dozwolonych lub sprawdzić w WHOIS.

### Czy mogę uruchomić test na IP SteadyProxy, zanim zacznę na nim polegać?

Tak, i to zalecamy. Zamów jedno IP z 2,24 USD na 30 dni, uruchamiaj skrypt Python przez jeden dzień i przeczytaj log. Zgodnie z naszą [polityką zwrotów](https://steadyproxy.com/pl/refunds/), IP, które nie działa w ciągu pierwszych 24 godzin po dostarczeniu i którego nie możemy naprawić ani wymienić, jest w pełni zwracane na Twoje saldo.

## Z jakich źródeł korzysta ten przewodnik?

1. [API ipify](https://www.ipify.org/) — ipify (2026-10-19)
2. [Dokumentacja dla programistów IPinfo](https://ipinfo.io/developers) — IPinfo (2026-10-19)
3. [Zaawansowane użycie żądań: proxy i limity czasu](https://requests.readthedocs.io/en/latest/user/advanced/) — Requests (2026-10-19)
4. [strona podręcznika curl](https://curl.se/docs/manpage.html) — curl (2026-10-19)
5. [Dokumentacja bazy danych RIPE: atrybut kraju](https://docs.db.ripe.net/RPSL-Object-Types/Descriptions-of-Primary-Objects) — RIPE NCC (2026-10-19)

---

SteadyProxy: SteadyProxy to dostawca statycznych proxy: IP ISP (statyczne rezydencjalne) i dedykowane IP z centrów danych wynajmowane na 30 dni za IP, płatne w kryptowalutach bez przesyłania dokumentów tożsamości.
