Ein rotierender Residential Proxy ist für Skalierung gebaut: eine neue IP für jede Anfrage, oder für eine Sticky Session von bis zu 30 Minuten. Das ist genau falsch für eine andere Art von Aufgabe: den ganzen Tag in einem Konto eingeloggt bleiben, eine Checkout- oder Monitoring-Session stundenlang am Leben erhalten, oder das Verkäuferkonto eines Shops jedes Mal vom selben Ort aus verwalten. Dafür erwartet die Seite einen gleichbleibenden Besucher, und eine wechselnde IP sieht aus wie eine gestohlene Session.
ISP-Proxys sind dafür gemacht. Jeder bleibt für die gesamte Abrechnungsperiode in der Stadt und beim Internetanbieter, den Sie auswählen. Aber ein guter Proxy ist nur die halbe Einrichtung. Die andere Hälfte besteht darin, sicherzustellen, dass alles andere an der Session genauso konsistent bleibt. Diese Anleitung führt durch die Einrichtung, die wir Kunden empfehlen, mit Code, den Sie anpassen können.
Wann Sie einen ISP-Proxy statt eines rotierenden brauchen
| Ihre Aufgabe | Was zu verwenden ist |
|---|---|
| Sammeln vieler Seiten über viele Websites hinweg | Rotierende Residential Proxys |
| Ein mehrstufiger Ablauf, der innerhalb von 30 Minuten abgeschlossen ist | Residential Sticky Session |
| Eine Session, die Stunden dauern muss | ISP-Proxy |
| Tag für Tag in Ihren eigenen Konten eingeloggt bleiben | ISP-Proxy |
| Prüfen, wie eine Seite aus einer bestimmten Stadt und bei einem bestimmten Anbieter aussieht | ISP-Proxy |
Die 30-Minuten-Grenze ist die praktische Richtlinie. Residential Sticky Sessions bei Shifter dauern bis zu 30 Minuten. Alles, was länger dauert, oder alles, was morgen zum selben Konto zurückkehrt, gehört auf einen ISP-Proxy.
Wie Shifters ISP-Proxys funktionieren
- Jede IP, die Sie platzieren, erhält einen eigenen Benutzernamen, und alle Benutzernamen eines Plans teilen sich ein Passwort.
- Jeder Proxy verbindet sich über denselben Host und Port,
isp.shifter.io:443, über HTTP(S) oder SOCKS5. - Sie wählen die Stadt und den ISP (ASN) für jede IP bei der Platzierung, aus 120 Ländern.
- Jeder Proxy behält diese Stadt und diesen ISP, solange der Plan aktiv ist.
- Die IP-Adresse dahinter kann sich mit der Zeit erneuern, so wie ein Heimbreitbandanschluss von Zeit zu Zeit eine neue Adresse von seinem Anbieter bekommt. Die Stadt und der Anbieter bleiben gleich.
- Die Bandbreite ist unbegrenzt: Pläne werden pro IP berechnet.
Der vorletzte Punkt ist für dauerhafte Logins wichtig. Ihre Einrichtung sollte davon ausgehen, dass sich die Adresse gelegentlich ändert, und sich auf das verlassen, was gleich bleibt: Standort, Anbieter und das Browserprofil.
Die Einrichtung, in fünf Regeln
1. Ein Proxy pro Konto, niemals geteilt. Geben Sie jedem Konto seinen eigenen ISP-Proxy-Benutzernamen und halten Sie diese Zuordnung fest. Zwei Konten auf einer IP sehen verknüpft aus; ein Konto über mehrere IPs sieht aus, als würde von verschiedenen Orten darauf zugegriffen.
2. Platzieren Sie jede IP dort, wo das Konto tatsächlich beheimatet ist. Wenn das Konto zu einem Shop in Chicago gehört, platzieren Sie seine IP bei einem Anbieter in Chicago. Ein Login aus der richtigen Stadt und bei einem Residential-Anbieter sieht wie die normale Routine des Kontos aus.
3. Behalten Sie ein dauerhaftes Browserprofil pro Konto. Cookies, lokaler Speicher und gespeicherte Sessions sind es, die Sie eingeloggt halten. Speichern Sie diese in einem Profilverzeichnis pro Konto und verwenden Sie es jedes Mal erneut. Ein frischer Browser bei jedem Durchlauf bedeutet ein frisches Login bei jedem Durchlauf, was genau das auslöst, was Verifizierungsaufforderungen hervorruft.
4. Lassen Sie den Browser mit dem Proxy übereinstimmen. Zeitzone und Sprache sollten zum Standort des Exits passen. Der einfachste Weg ist, den Exit zu fragen, wo er sich befindet, und den Browser anhand der Antwort einzustellen. Unsere Anleitung zum Abgleichen von Proxy-Geo, Zeitzone und Locale behandelt die vollständige Liste der Signale.
5. Prüfen Sie den Exit, bevor Sie starten. Bestätigen Sie, dass sich der Proxy in der erwarteten Stadt und beim erwarteten Anbieter befindet, bevor Sie das Konto öffnen. Wenn nicht, stoppen Sie, statt sich vom falschen Ort aus einzuloggen.
Der Code
Das folgende Modul setzt die fünf Regeln mit Python und Playwright in die Praxis um. Es validiert die Zuordnung von Konto zu Proxy, prüft den Exit über ip-info.com (unsere kostenlose IP-Geolokalisierungs-API) und öffnet ein dauerhaftes Browserprofil, das an den Proxy dieses Kontos gebunden ist, mit der Zeitzone, die vom Exit selbst übernommen wird.
from pathlib import Path
import requests
ISP_GATEWAY = "isp.shifter.io:443"
def validate_assignments(accounts):
"""One ISP proxy per account, and no proxy shared between accounts."""
problems, seen_accounts, owner = [], set(), {}
for a in accounts:
if a["account"] in seen_accounts:
problems.append(f"{a['account']}: listed twice")
seen_accounts.add(a["account"])
other = owner.setdefault(a["isp_username"], a["account"])
if other != a["account"]:
problems.append(f"{a['isp_username']}: shared by {other} and {a['account']}")
return problems
def check_exit(account, password, get=requests.get):
"""Ask the exit where it is, and compare with where this account belongs."""
proxy = f"http://{account['isp_username']}:{password}@{ISP_GATEWAY}"
info = get("http://ip-info.com/json", proxies={"http": proxy, "https": proxy}, timeout=20).json()
problems = []
if info.get("city") != account["city"]:
problems.append(f"city is {info.get('city')}, expected {account['city']}")
if info.get("asn") != account["asn"]:
problems.append(f"ASN is {info.get('asn')}, expected {account['asn']}")
return {"ip": info.get("ip"), "timezone": info.get("timezone"), "problems": problems}
def browser_options(account, password, exit_info, profile_root):
"""Persistent Chromium profile for one account, pinned to its own ISP proxy."""
return {
"user_data_dir": str(Path(profile_root) / account["account"]),
"proxy": {"server": f"http://{ISP_GATEWAY}",
"username": account["isp_username"], "password": password},
"timezone_id": exit_info["timezone"],
"locale": account["locale"],
"viewport": {"width": 1440, "height": 900},
}
def open_account(playwright, account, password, profile_root="profiles"):
"""Check the exit first; only then open the account's own browser profile."""
exit_info = check_exit(account, password)
if exit_info["problems"]:
raise RuntimeError(f"{account['account']}: " + "; ".join(exit_info["problems"]))
options = browser_options(account, password, exit_info, profile_root)
return playwright.chromium.launch_persistent_context(**options)
Und die Verwendung:
import os
from playwright.sync_api import sync_playwright
from isp_sessions import open_account, validate_assignments
ACCOUNTS = [
{"account": "store-us", "isp_username": "us-chicago-illinois-as7922-XXXXX",
"city": "Chicago", "asn": 7922, "locale": "en-US"},
{"account": "store-de", "isp_username": "de-berlin-berlin-as3320-XXXXX",
"city": "Berlin", "asn": 3320, "locale": "de-DE"},
]
password = os.environ["ISP_PASSWORD"]
problems = validate_assignments(ACCOUNTS)
if problems:
raise SystemExit("\n".join(problems))
with sync_playwright() as p:
browser = open_account(p, ACCOUNTS[0], password)
page = browser.pages[0] if browser.pages else browser.new_page()
page.goto("https://example.com/account")
# ... the account's work; cookies and storage persist in profiles/store-us
browser.close()
Ersetzen Sie die XXXXX-Suffixe durch die Benutzernamen von Ihrer Plan-Seite, die jeden Benutzernamen mit seiner Stadt und seinem ISP auflistet. Das Profilverzeichnis, in diesem Beispiel profiles/store-us, ist das, was das Konto zwischen den Durchläufen eingeloggt hält: sichern Sie es, und richten Sie niemals zwei Konten auf dasselbe aus.
Wir haben die Zuordnungsprüfung, die Exit-Prüfung (gegen aufgezeichnete Antworten) und die Browser-Optionen mit Playwrights Chromium getestet. Die Exit-Prüfung benötigt einen aktiven ISP-Plan, um gegen echte Proxys zu laufen.
Sessions stundenlang am Leben halten
- Ein gleichmäßiges, menschliches Tempo einhalten. Eine Person in einem Konto klickt, liest und wartet. Stöße von Hunderten von Aktionen pro Minute sehen automatisiert aus, egal wie gut der Proxy ist.
- Den geöffneten Browser weiterverwenden. Halten Sie einen Browser für die Dauer der Arbeitssession geöffnet, statt ihn für jede Aufgabe neu zu starten.
- Den Exit nach einer längeren Pause erneut prüfen. Wenn Sie nach Stunden fortsetzen, führen Sie die Exit-Prüfung erneut aus. Da sich die Adresse erneuern kann, fragt eine Seite gelegentlich nach einer Login-Bestätigung; bei gleicher Stadt, gleichem Anbieter und gleichem Profil ist das dieselbe Erfahrung, die ein echter Nutzer macht, nachdem sein Heimrouter neu gestartet ist.
- Ein Konto nicht auf einen anderen Proxy umstellen, um ein Problem zu beheben. Wenn ein Konto herausgefordert wird, macht eine andere Stadt oder ein anderer Anbieter es schlimmer. Beheben Sie die Ursache, behalten Sie die Zuordnung.
Fehlerbehebung
| Symptom | Wahrscheinliche Ursache | Lösung |
|---|---|---|
407 Proxy Authentication Required | Falscher Benutzername oder falsches Passwort | Kopieren Sie die Zugangsdaten erneut von der Plan-Seite; jede IP hat ihren eigenen Benutzernamen |
| Die Exit-Prüfung meldet die falsche Stadt | Der Benutzername gehört zu einer anderen Platzierung | Prüfen Sie den Benutzernamen anhand der Liste auf der Plan-Seite |
| Nach jedem Durchlauf ausgeloggt | Bei jedem Mal ein neues Browserprofil | Verwenden Sie ein dauerhaftes Profilverzeichnis pro Konto |
| Wiederholte Verifizierungsaufforderungen | Zeitzone oder Sprache stimmen nicht mit dem Exit überein, oder das Konto wurde zwischen Proxys verschoben | Stellen Sie den Browser anhand des Standorts des Exits ein und behalten Sie einen Proxy pro Konto |
| Langsame oder fehlschlagende Anfragen von einer IP | Ein Problem mit dieser Platzierung | Führen Sie die Konnektivitätsprüfung aus der Dokumentation aus und kontaktieren Sie den Support mit dem Benutzernamen |
Ein Hinweis zur verantwortungsvollen Nutzung von Konten
Diese Techniken sind für Konten gedacht, zu deren Nutzung Sie berechtigt sind: Ihre eigenen Geschäftskonten, die Konten Ihrer Kunden mit deren Erlaubnis, und Testkonten auf Ihren eigenen Diensten. Jede Plattform hat ihre eigenen Regeln zur Automatisierung und dazu, wie viele Konten eine Person oder ein Unternehmen betreiben darf. Eine konsistente Einrichtung verhindert, dass legitime Arbeit markiert wird; sie ist kein Weg, die Regeln einer Plattform zu umgehen, und sollte auch nicht als solcher verwendet werden.
FAQ
Kann ich rotierende Residential Proxys für lange Sessions verwenden?
Nur bis zu einem gewissen Punkt. Residential Sticky Sessions bei Shifter dauern bis zu 30 Minuten. Für Sessions, die länger dauern, oder für Logins, zu denen Sie jeden Tag zurückkehren, verwenden Sie einen ISP-Proxy, der seine Stadt und seinen ISP für die gesamte Abrechnungsperiode behält.
Ändert sich die IP-Adresse eines ISP-Proxys jemals?
Die Stadt und der ISP bleiben fest, solange Ihr Plan aktiv ist. Die IP-Adresse dahinter kann sich mit der Zeit erneuern, wie ein Heimbreitbandanschluss. Bauen Sie Ihre Einrichtung um den Standort, den Anbieter und ein dauerhaftes Browserprofil herum auf, die gleich bleiben.
Wie viele Konten sollten sich einen ISP-Proxy teilen?
Eines. Geben Sie jedem Konto seinen eigenen Proxy, damit jedes wie ein eigener Haushalt aussieht und keine zwei Konten verknüpft erscheinen.
Brauche ich ein dauerhaftes Browserprofil?
Für Logins ja. Das Profil enthält die Cookies und den Speicher, die Sie angemeldet halten. Ohne es beginnt jeder Durchlauf als neues Gerät und wird mit viel höherer Wahrscheinlichkeit zur Verifizierung aufgefordert.
Fazit
Lange Sessions und dauerhafte Logins brauchen Konsistenz, keine Rotation. Geben Sie jedem Konto seinen eigenen ISP-Proxy, platziert in der tatsächlichen Stadt des Kontos, behalten Sie ein dauerhaftes Browserprofil pro Konto, stellen Sie die Zeitzone und Sprache des Browsers anhand des Exits ein, und prüfen Sie den Exit vor jedem Start. Mit diesen Maßnahmen sieht ein Konto jeden Tag gleich aus, und genau das prüft eine Seite. Unser Vergleich von ISP- und Residential-Proxys behandelt die umfassendere Wahl zwischen den beiden.