Python
requests, httpx, aiohttp, asynchrone Gleichzeitigkeit
Dokumentation · Gateway, Benutzernamen-Format, Sessions, Fehler, Limits
Alles, was du brauchst, um die erste Anfrage zu senden, sowie das Nachschlagewerk: Targeting-Parameter, Sitzungsregeln, Fehlercodes und Limits.
Kurze Antwort
Wie verbinde ich mich mit CrawlRelay-Proxys?
Leite jeden HTTP-Client auf http://USERNAME:[email protected]:7777 oder SOCKS5 an Port 7778. CrawlRelay, ein entwicklerfreundlicher Residential Proxy-Service, liest Targeting und Sessions aus dem Benutzernamen: USERNAME-country-us-city-new_york-session-job1-ttl-30. Residential Proxy-Traffic kostet 1,50 $ pro 1 GB und 0,50 $/GB ab 50 GB. Zahlung mit Krypto, ohne KYC.
| Gateway-Host | gw.crawlrelay.com |
|---|---|
| HTTP / HTTPS-Port | 7777 (HTTPS-Seiten über CONNECT) |
| SOCKS5-Port | 7778 (nutze socks5h://, damit DNS am Ausgang aufgelöst wird) |
| Authentifizierung | Benutzername und Passwort deines Plans oder eines Unterbenutzers oder eine IP-Whitelist (bis zu 10 IPs) |
| Benutzername-Format | USERNAME-country-{cc}-state-{state}-city-{city}-zip-{zip}-asn-{asn}-session-{id}-ttl-{minutes} |
| Session-Länge | bis zu 30 Minuten; die IP kann sich früher ändern |
| Test-URL | https://api.ipify.org gibt die Exit-IP als Klartext zurück |
| Management-API | https://crawlrelay.com/api/v1, API-Schlüssel, die Sie jederzeit widerrufen können (API-Dokumentation) |
Kopiere den Benutzernamen und das Passwort aus deinem Dashboard und führe dann einen dieser Befehle aus. Jeder gibt die IP-Adresse zurück, die die Webseite sieht, welche sich normalerweise von Lauf zu Lauf ändert.
curl -x http://USERNAME-country-us:[email protected]:7777 https://api.ipify.orgimport requests
proxy = "http://USERNAME-country-us:[email protected]:7777"
r = requests.get("https://api.ipify.org", proxies={"http": proxy, "https": proxy}, timeout=(10, 30))
print(r.text)import { ProxyAgent, fetch } from "undici";
const dispatcher = new ProxyAgent("http://USERNAME-country-us:[email protected]:7777");
const res = await fetch("https://api.ipify.org", { dispatcher });
console.log(await res.text());Beginne mit dem Benutzernamen aus deinem Dashboard und füge Parameter mit Bindestrichen hinzu, in der Reihenfolge des obigen Formats. Jeder Parameter ist optional. Werte sind klein geschrieben, und Städtenamen verwenden Unterstriche (new_york, sao_paulo). Die Verfügbarkeit der Städte variiert.
| Ziel | Benutzername |
|---|---|
| Beliebiges Land, rotation pro Verbindung | USERNAME |
| Deutschland | USERNAME-country-de |
| Paris | USERNAME-country-fr-city-paris |
| Texas | USERNAME-country-us-state-tx |
| Eine PLZ | USERNAME-country-us-zip-10001 |
| Ein Internetanbieter | USERNAME-country-us-asn-7922 |
| Gleiche IP für bis zu 30 Minuten | USERNAME-country-gb-session-abc123-ttl-30 |
Wenn dein Passwort @, : oder / enthält, URL-kodiere es, bevor du es in eine Proxy-URL einfügst. Die 407-Fehlerseite zeigt, wie.
Ein Benutzername ohne session- erhält bei jeder neuen TCP-Verbindung eine IP aus dem Pool, normalerweise eine andere. Ein Benutzername mit session-<id>-ttl-<minutes> behält dieselbe Exit-IP für diese ID, bis die TTL endet oder das Residential-Gerät offline geht.
Der Sessions-Guide behandelt die Wiederverwendung von Verbindungen in jeder Bibliothek.
Finde zuerst heraus, wer geantwortet hat: das Gateway oder die dahinterliegende Webseite.
| Du siehst | Gesendet von | Üblicher Grund | Was tun |
|---|---|---|---|
| 407 | Gateway | Falsche oder nicht kodierte Anmeldedaten | Benutzernamen oder Passwort korrigieren; niemals blind erneut versuchen |
| ERR_TUNNEL_CONNECTION_FAILED | Browser | CONNECT verweigert (oft ein verstecktes 407) | Anmeldedaten als Felder übergeben, nicht in der Server-URL |
| 502 / 504 | Gateway oder CDN | Ausgangsverbindung unterbrochen, Ziel langsam oder ausgefallen | Auf neuer Verbindung erneut versuchen, mit Limit |
| 403 | Webseite | Falsches Land, Header, Rate oder Verweigerung | Im Browser prüfen; langsam starten oder die Verweigerung respektieren |
| 429 | Webseite | Rate Limit | Retry-After beachten; Anzahl gleichzeitiger Verbindungen pro Host reduzieren |
| SSL: FALSCHE_VERSION_NUMMER | Ihr Client | https:// vor der Proxy-URL | Für die Proxy-URL http:// verwenden |
Alle 15 Einträge sind im Fehlerverzeichnis.
Im Dashboard oder über die REST API unter https://crawlrelay.com/api/v1 mit einem API-Schlüssel. API-Schlüssel, die Sie jederzeit widerrufen können. Die Hauptaufgaben:
requests, httpx, aiohttp, asynchrone Gleichzeitigkeit
Middleware, Sessions pro Anfrage, AutoThrottle
Python und Node.js, Proxy pro Kontext
Flag plus page.authenticate()
Authentifizierter Residential Proxy über lokalen Forwarder
undici, axios, got, SOCKS5
HTTP, SOCKS5, Debugging mit -v
Verbindungswiederverwendung, TTL, eine IP pro Flow
Limits pro Host, Durchsatz und Backoff
CrawlRelay veröffentlicht Copy-Paste-Anleitungen für Python (requests, httpx, aiohttp), Scrapy, Playwright, Puppeteer, Selenium, Node.js und curl, ein Referenzverzeichnis mit 15 Proxy-Fehlern und einer REST API Referenz mit curl-, Python- und Node.js-Beispielen. Jedes Beispiel nutzt den echten Gateway-Host und Ports, jeder Code-Snippet wurde vor Veröffentlichung auf Syntax geprüft.
Nein. Benutzername und Passwort funktionieren von jedem Rechner, sodass Sie denselben Scraper auf Laptop, Server oder CI-Runner nutzen können. Alternativ können Sie bis zu 10 IPs in eine Allowlist eintragen. Anmeldedaten sollten in Umgebungsvariablen oder einem Secrets-Manager gespeichert werden, niemals im Repository.
Entweder enthält Ihr Benutzername eine Sitzungs-ID, die absichtlich eine IP behält, oder Ihr Client verwendet eine persistent gehaltene Verbindung mehrfach. Die Rotation erfolgt bei einer neuen Verbindung. Entfernen Sie den Sitzungsanteil oder öffnen Sie pro Anfrage eine neue Verbindung, wie im Sessions-Guide gezeigt.
Verwenden Sie den HTTP-Port (7777) für Web-Scraping: Jede Bibliothek und jeder Browser unterstützt ihn mit Authentifizierung, und HTTPS-Seiten funktionieren über CONNECT-Tunnel. Nutzen Sie SOCKS5 (7778) für Tools, die nur SOCKS sprechen, mit socks5h://, damit die DNS-Anfrage am Ausgang aufgelöst wird.
Fordern Sie https://api.ipify.org durch den Proxy an, um die IP zu erhalten, und suchen Sie diese dann in einer vertrauenswürdigen Geolokalisierungsdatenbank. Datenbanken weichen bei manchen IPs ab, besonders bei mobilen, prüfen Sie deshalb auch den vom Ziel gelieferten Inhalt: Währung, Sprache und lokale Ergebnisse sind entscheidend für Ihre Daten.
Pläne werden pro GB abgerechnet, nicht pro Anfrage, und die ersten Limits sind die der Zielseiten selbst. Steuern Sie jede Zielseite einzeln und drosseln Sie bei 429- und 503-Antworten. Bei sehr großen Crawls informieren Sie bitte zuerst den Support unter [email protected].
Ab 0,50 $/GB · ohne KYC
Jetzt starten