Wie man Smartproxy-Proxys authentifiziert: IP-Whitelisting vs. Benutzername/Passwort und Sticky Sessions
Entscheiden Sie zwischen Benutzername/Passwort- und IP-Whitelist-Authentifizierung, wählen Sie rotierende oder Sticky Sessions und verifizieren Sie Ihren Smartproxy-Residential- oder Datacenter-Endpunkt mit echten HTTP- und SOCKS5-Anfragen, bevor Sie irgendetwas automatisieren.
Überblick
Smartproxy bietet Residential- und Datacenter-Proxy-Endpunkte über HTTP(S) und SOCKS5 (65 Mio.+ IPs auf der Residential-Seite) zu einem monatlichen Pauschalpreis. Zwei frühe Entscheidungen bestimmen, ob Ihr Setup beim ersten Versuch funktioniert: welchen Authentifizierungsmodus Sie verwenden und ob eine Anfrage dieselbe Exit-IP beibehalten oder zu einer neuen wechseln soll.
Dieser Leitfaden behandelt beide Entscheidungen und verifiziert sie mit echten Kommandozeilen-Anfragen, damit Sie bestätigen können, dass der Endpunkt funktioniert, bevor Sie ihn in einen Scraper, einen Rank Tracker oder ein Browserprofil einbinden.
Authentifizierung: Benutzername/Passwort oder IP-Whitelist
Beide Authentifizierungsstile werden im Dashboard konfiguriert:
- Benutzername/Passwort — Anmeldeinformationen werden bei jeder Anfrage gesendet. Funktioniert von jedem Computer, Container oder CI-Runner aus und übersteht einen Wechsel des Netzwerks oder der ISP-Adresse.
- IP-Whitelist — es werden keine Anmeldeinformationen mit der Anfrage übertragen, aber Ihre aktuelle öffentliche IP muss registriert sein. Sie funktioniert nicht mehr, sobald Ihr ISP Ihre Adresse wechselt oder Sie in ein anderes Netzwerk wechseln.
Verwenden Sie Benutzername/Passwort, es sei denn, Sie haben eine feste Büro-IP und ein Tool, das überhaupt keine Proxy-Anmeldeinformationen senden kann.
Sitzungstypen: rotierend oder Sticky
- Rotierend — Anfragen können jedes Mal von einer anderen IP ausgehen. Dies ist das Verhalten, wenn kein Sitzungstoken angehängt ist, und es ist das, was Sie für die groß angelegte Sammlung wollen, bei der die Anzahl der Anfragen pro IP niedrig bleiben muss.
- Sticky — dieselbe Exit-IP wird für die Lebensdauer eines Sitzungstokens beibehalten, wodurch zustandsbehaftete Abläufe wie Login, Add-to-Cart und Checkout an einer Adresse gehalten werden.
Smartproxy kodiert Sitzungs- und Targeting-Details im Proxy-Benutzernamen. Die genaue Parametersyntax wird für Sie generiert und kann sich ändern, daher sollten Sie immer die fertige Zeichenfolge aus dem Endpunkt-Generator des Dashboards kopieren, anstatt sie aus dem Gedächtnis einzugeben. Die folgenden Beispiele zeigen nur die allgemeine Form.
Auswahl zwischen Residential- und Datacenter-Endpunkten
| Residential | Datacenter | |
|---|---|---|
| Pool | 65 Mio.+ IPs | Kleinere, stabile Bereiche |
| Geschwindigkeit | Mittel | Schnell |
| Am besten für | Geo-genaue Sammlung, Anzeigenverifizierung, Preisprüfungen | Hochvolumiges Crawling toleranter Ziele, interne Tests |
| Sperrrisiko | Geringer, IPs sind weit verteilt | Höher, Bereiche sind bekannt |
Beide Endpunkttypen werden auf die gleiche Weise erreicht; nur Host, Port und Anmeldeinformationen unterscheiden sich.
Schritte
-
Finden Sie Ihren Endpunkt und Ihre Anmeldeinformationen im Dashboard.
Melden Sie sich an, öffnen Sie die Proxy-Einrichtungsseite für das von Ihnen gekaufte Produkt und kopieren Sie den Endpunkt-Host und -Port, Ihren Proxy-Benutzernamen und Ihr Passwort sowie jede Sitzungs- oder Targeting-Zeichenfolge, die der Generator in den Benutzernamen einfügt.
export SP_USER='your-proxy-username' export SP_PASS='your-proxy-password' export SP_ENDPOINT='host:port' # Fügen Sie den genauen Wert aus dem Dashboard einBewahren Sie Anmeldeinformationen in Umgebungsvariablen oder einem Secrets Manager auf, anstatt sie in ein Skript zu übertragen.
-
Wählen Sie Ihren Authentifizierungsmodus.
Benutzername/Passwort ist die Standardempfehlung. Wenn Sie stattdessen Whitelisting bevorzugen, notieren Sie Ihre aktuelle öffentliche IP und fügen Sie sie in den Authentifizierungseinstellungen des Dashboards hinzu.
curl -sS https://ipinfo.io/ipÜberprüfen Sie diese Adresse erneut und fügen Sie sie erneut hinzu, wann immer Ihr ISP sie ändert; ein veralteter Whitelist-Eintrag ist die häufigste Ursache für einen plötzlichen
407-Fehler. -
Verifizieren Sie eine rotierende HTTP-Anfrage.
Senden Sie eine Anfrage über den Endpunkt und bestätigen Sie, dass Sie eine Proxy-IP anstelle Ihrer eigenen sehen.
curl -sS -x "http://${SP_USER}:${SP_PASS}@${SP_ENDPOINT}" https://ipinfo.io/jsonFühren Sie es mehrmals in einer Schleife aus, um zu bestätigen, dass sich die Exit-IP zwischen den Anfragen tatsächlich ändert.
for i in 1 2 3; do curl -sS -x "http://${SP_USER}:${SP_PASS}@${SP_ENDPOINT}" https://ipinfo.io/ip echo doneWenn sich die Adresse nie ändert, prüfen Sie, ob noch ein Sitzungstoken in Ihrem Benutzernamen eingebettet ist.
-
Fixieren Sie eine Exit-IP mit einer Sticky Session.
Kopieren Sie den Sticky-Session-Benutzernamen aus dem Dashboard-Generator (er besteht aus Ihrem Benutzernamen plus einer Sitzungskennung) und exportieren Sie ihn unter einer separaten Variable, damit Sie zwischen den rotierenden und den Sticky-Zeichenfolgen wechseln können, ohne die Anmeldeinformationen selbst zu bearbeiten.
export SP_USER_STICKY='your-username-with-session-parameters' # aus dem Dashboard kopieren for i in 1 2 3; do curl -sS -x "http://${SP_USER_STICKY}:${SP_PASS}@${SP_ENDPOINT}" https://ipinfo.io/ip echo doneAlle drei Antworten sollten dieselbe Exit-IP für die Lebensdauer dieses Sitzungstokens anzeigen.
-
Testen Sie Geo-Targeting.
Länder-, Städte- und Bundesstaat-Targeting werden ebenfalls über die generierte Benutzernamen-Zeichenfolge übergeben. Bestätigen Sie, dass die Anfrage dort landet, wo Sie es erwarten, bevor Sie einen Workflow pro Markt darauf aufbauen.
export SP_USER_DE='your-username-with-country-parameter' # aus dem Dashboard kopieren curl -sS -x "http://${SP_USER_DE}:${SP_PASS}@${SP_ENDPOINT}" https://ipinfo.io/jsonDas Feld
countryin der Antwort sollte mit dem von Ihnen konfigurierten Ziel übereinstimmen. -
Testen Sie den SOCKS5-Endpunkt.
Verwenden Sie das Schema
socks5h://, damit die DNS-Auflösung beim Proxy und nicht lokal erfolgt, was Leaks und DNS-basierte Blockierungen verhindert.curl -sS -x "socks5h://${SP_USER}:${SP_PASS}@${SP_ENDPOINT}" https://ipinfo.io/jsonWenn Ihr Client nur
socks5://unterstützt, wird DNS lokal aufgelöst; bevorzugen Siesocks5hin Skripten. -
Wechseln Sie zu einem Datacenter-Endpunkt, wenn der Durchsatz wichtig ist.
Datacenter-Anmeldeinformationen und -Hosts sind im Dashboard separat aufgeführt. Führen Sie die Verifizierungsschleife erneut gegen den Datacenter-Host und -Port aus; nur die Endpunktwerte ändern sich, nicht das Angefrageformat.
export SP_DC_ENDPOINT='datacenter-host:port' curl -sS -x "http://${SP_USER}:${SP_PASS}@${SP_DC_ENDPOINT}" https://ipinfo.io/ip -
Verwenden Sie den Endpunkt von Python aus.
Verwenden Sie dieselben Umgebungsvariablen wieder, damit sich nichts ändert, wenn Sie von der Shell zu einem Skript wechseln.
import os import requests auth = f"{os.environ['SP_USER']}:{os.environ['SP_PASS']}@" endpoint = os.environ['SP_ENDPOINT'] proxies = { "http": f"http://{auth}{endpoint}", "https": f"http://{auth}{endpoint}", } response = requests.get("https://ipinfo.io/json", proxies=proxies, timeout=30) response.raise_for_status() print(response.json())Für Sticky-Arbeiten erstellen Sie ein zweites
proxies-Wörterbuch ausSP_USER_STICKYund verwenden es für die gesamte Sitzung. -
Fügen Sie Wiederholungs- und Rotationslogik hinzu.
Behandeln Sie
429- und5xx-Antworten mit einem kurzen exponentiellen Backoff und lassen Sie rotierende Sitzungen bei jedem Versuch natürlich eine neue IP liefern, anstatt dieselbe Sitzung wiederholt zu wiederholen.import time for attempt in range(4): try: response = requests.get("https://ipinfo.io/json", proxies=proxies, timeout=30) if response.status_code < 400: break except requests.RequestException: pass time.sleep(2 ** attempt)
Fehlerbehebung
407 Proxy Authentication Required— der Benutzername oder das Passwort ist falsch, eine Sitzungs- oder Targeting-Zeichenfolge wurde in das falsche Feld eingefügt, oder Ihre zugelassene IP stimmt nicht mehr mit Ihrer aktuellen Adresse überein. Kopieren Sie die Zeichenfolge erneut aus dem Dashboard-Generator.- Anmeldeinformationen abgelehnt, nachdem sie einwandfrei funktioniert haben — Passwörter, die
@,:,/oder#enthalten, müssen innerhalb der Proxy-URL URL-kodiert werden (@wird zu%40,:wird zu%3A). Bevorzugen Sie ein Passwort ohne Sonderzeichen, wenn Ihr Tool sie nicht kodieren kann. curl: (7) Failed to connect— der Host oder Port ist falsch, oder Sie haben einen Residential-Endpunkt in einen Datacenter-Slot kopiert (oder umgekehrt). Jedes Produkt hat seinen eigenen Host und Port.- Jede Anfrage gibt dieselbe IP zurück — ein Sticky-Session-Token ist noch im Benutzernamen vorhanden, oder Sie verwenden den Sticky-Anmeldeinformationssatz anstelle des rotierenden.
- Sticky Session ändert die IP mitten im Workflow — Sitzungslebensdauern laufen ab. Starten Sie bewusst ein neues Sitzungstoken und authentifizieren Sie sich erneut, anstatt anzunehmen, dass das alte unbegrenzt bestehen bleibt.
- Anfragen laufen nur bei SOCKS5 in eine Zeitüberschreitung — der Client unterstützt möglicherweise kein Remote-DNS. Wechseln Sie zu
socks5h://oder fallen Sie für dieses Tool auf den HTTP-Endpunkt zurück. - Whitelist-Authentifizierung schlägt zeitweise fehl — Mobilfunknetze und Heimverbindungen wechseln öffentliche IPs. Verwenden Sie Benutzername/Passwort für unbeaufsichtigte Aufträge.
Zusammenfassung
Das Smartproxy-Onboarding läuft auf zwei Entscheidungen und eine Gewohnheit hinaus. Wählen Sie Benutzername/Passwort, es sei denn, Sie haben eine wirklich statische IP, und wählen Sie rotierende Sitzungen für Sammel-Workloads oder Sticky Sessions für zustandsbehaftete Abläufe. Die Gewohnheit besteht darin, die Endpunkt- und Benutzernamen-Zeichenfolge direkt aus dem Dashboard-Generator zu kopieren, da die Sitzungs- und Geo-Targeting-Parameter in dieser Zeichenfolge enthalten sind. Verifizieren Sie den rotierenden Pfad, den Sticky-Pfad, den SOCKS5-Pfad und den Datacenter-Host mit den kurzen curl-Schleifen oben, bevor Sie einen Scraper oder Rank Tracker darauf richten.