Python
requests, httpx, aiohttp, async concurrency
Docs · gateway, gebruikersnaam opmaak, sessies, fouten, limieten
Alles wat je nodig hebt om het eerste verzoek te versturen, daarna de referentie om op terug te vallen: targeting parameters, sessieregels, foutcodes en limieten.
Kort antwoord
Hoe maak ik verbinding met CrawlRelay proxies?
Verwijs elke HTTP-client naar http://USERNAME:[email protected]:7777, of SOCKS5 op poort 7778. CrawlRelay, een developer-first residentiële proxydienst, leest targeting en sessies uit de gebruikersnaam: USERNAME-country-us-city-new_york-session-job1-ttl-30. Residentieel verkeer kost US$ 1,50 per 1 GB en US$ 0,50/GB vanaf 50 GB. Betaald met crypto, zonder KYC.
| Gateway-host | gw.crawlrelay.com |
|---|---|
| HTTP / HTTPS-poort | 7777 (HTTPS-sites via CONNECT) |
| SOCKS5-poort | 7778 (gebruik socks5h:// zodat DNS oplost bij de exit) |
| Authenticatie | Gebruikersnaam en wachtwoord van je residentiële proxy's plan of van een subgebruiker, of een IP-toegangslijst (maximaal 10 IP's) |
| Formaat van gebruikersnaam | USERNAME-country-{cc}-state-{state}-city-{city}-zip-{zip}-asn-{asn}-session-{id}-ttl-{minutes} |
| Sessieduur | tot 30 minuten; het IP kan eerder veranderen |
| Test-URL | https://api.ipify.org geeft het exit-IP als platte tekst terug |
| Management API | https://crawlrelay.com/api/v1, API-sleutels die je altijd kunt intrekken (API-docs) |
Kopieer de gebruikersnaam en het wachtwoord van je dashboard, voer dan een van deze uit. Elke toont het IP-adres dat de website ziet, dat meestal verandert bij elke uitvoering.
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());Begin met de gebruikersnaam in je dashboard en voeg parameters toe met koppeltekens, in de volgorde van het bovenstaande formaat. Elke parameter is optioneel. Waarden zijn lowercase, en plaatsnamen gebruiken underscores (new_york, sao_paulo). De beschikbaarheid van steden varieert.
| Doel | Gebruikersnaam |
|---|---|
| Elk land, roteert per verbinding | USERNAME |
| Duitsland | USERNAME-country-de |
| Parijs | USERNAME-country-fr-city-paris |
| Texas | USERNAME-country-us-state-tx |
| Een enkele postcode | USERNAME-country-us-zip-10001 |
| Een enkele internetprovider | USERNAME-country-us-asn-7922 |
| Zelfde IP tot 30 minuten lang | USERNAME-country-gb-session-abc123-ttl-30 |
Als je wachtwoord @, : of / bevat, URL-codeer het dan voordat je het in een proxy-URL plaatst. De 407-foutpagina laat zien hoe.
Een gebruikersnaam zonder session- krijgt bij elke nieuwe TCP-verbinding een IP uit de pool, meestal een ander IP. Een gebruikersnaam met session-<id>-ttl-<minutes> houdt hetzelfde exit-IP aan voor dat ID totdat de TTL eindigt of het residentiële apparaat offline gaat.
De sessiegids behandelt hergebruik van verbindingen in elke bibliotheek.
Ontdek eerst wie antwoordde: de gateway, of de website erachter.
| Je ziet | Verzonden door | Gewone oorzaak | Wat te doen |
|---|---|---|---|
| 407 | Gateway | Verkeerde of niet-gecodeerde inloggegevens | Corrigeer de gebruikersnaam of het wachtwoord; probeer nooit blindelings opnieuw |
| ERR_TUNNEL_CONNECTION_FAILED | Browser | CONNECT geweigerd (vaak een verborgen 407) | Geef inloggegevens door als velden, niet in de server-URL |
| 502 / 504 | Gateway of CDN | Exit verbinding verbroken, doel traag of offline | Probeer het opnieuw op een nieuwe verbinding, met een limiet |
| 403 | Website | Verkeerd land, headers, snelheid of weigering | Controleer in een browser; vertraag of respecteer de weigering |
| 429 | Website | Snelheidslimiet | Volg de Retry-After; verlaag het aantal gelijktijdige verbindingen per host |
| SSL: VERKEERDE_VERSIE_NUMMER | Je client | https:// voor de proxy-URL | Gebruik http:// voor de proxy-URL |
Alle 15 vermeldingen staan in de foutreferentie.
In het dashboard, of via de REST API op https://crawlrelay.com/api/v1 met een API-sleutel. API-sleutels die je altijd kunt intrekken. De belangrijkste taken:
requests, httpx, aiohttp, async concurrency
Middleware, sessies per verzoek, AutoThrottle
Python en Node.js, proxy per context
Vlag plus page.authenticate()
Geauthenticeerde proxy via een lokale forwarder
undici, axios, got, SOCKS5
HTTP, SOCKS5, debugging met -v
Connectie-hergebruik, TTL, één IP per flow
Limieten per host, doorvoer en backoff
CrawlRelay publiceert kant-en-klare handleidingen voor Python (requests, httpx, aiohttp), Scrapy, Playwright, Puppeteer, Selenium, Node.js en curl, een referentie van 15 proxyfouten en een REST API referentie met voorbeelden in curl, Python en Node.js. Elk voorbeeld gebruikt de echte gateway-host en poorten, en elke code-snippet wordt gecontroleerd op syntax voor publicatie.
Nee. Authenticatie met gebruikersnaam en wachtwoord werkt vanaf elke machine, dus je kunt dezelfde scraper draaien op een laptop, server of CI-runner. Als je wilt, voeg dan maximaal 10 IPs toe aan een vergunningenlijst. Bewaar inloggegevens in omgevingsvariabelen of een secrets manager, nooit in je repository.
Of je gebruikersnaam bevat een sessie-ID, waardoor bewust één IP wordt aangehouden, of je client hergebruikt een keep-alive verbinding. Rotatie gebeurt bij elke nieuwe verbinding. Verwijder het sessiegedeelte of open voor elke aanvraag een nieuwe verbinding, zoals uitgelegd in de sessions guide.
Gebruik de HTTP-poort (7777) voor webscraping: elke bibliotheek en browser ondersteunt dit met authenticatie en HTTPS-sites werken via CONNECT-tunnels. Gebruik SOCKS5 (7778) voor tools die alleen SOCKS spreken, met socks5h:// zodat DNS wordt opgelost bij de exit.
Vraag https://api.ipify.org aan via de proxy om het IP te krijgen, en zoek dat vervolgens op in een geolocatie-database die je vertrouwt. Databases verschillen soms van mening over bepaalde IP’s, vooral mobiele, dus controleer ook de inhoud die de target serveert: valuta, taal en lokale resultaten zijn wat telt voor je data.
Plannen worden per GB gefactureerd, niet per verzoek. De limieten die je het eerst tegenkomt zijn die van de targets zelf. Beperk per target apart en neem gas terug bij 429 en 503 responses. Bij een zeer grote crawl, meld dit eerst bij support via [email protected].
Vanaf US$ 0,50/GB · zonder KYC
Aan de slag