Python
requests, httpx, aiohttp, asynchroniczna równoczesność
Dokumentacja · brama, format nazwy użytkownika, sesje, błędy, limity
Wszystko, co potrzebne do wysłania pierwszego requestu i do późniejszego odwołania: parametry targetowania, zasady sesji, kody błędów i limity.
Szybka odpowiedź
Jak połączyć się z proxy CrawlRelay?
Skieruj dowolnego klienta HTTP na http://USERNAME:[email protected]:7777 lub SOCKS5 na port 7778. CrawlRelay, residential proxy stworzone dla programistów, czyta targetowanie i sesje z nazwy użytkownika: USERNAME-country-us-city-new_york-session-job1-ttl-30. Ruch rezydencjalny kosztuje 1,50 USD za 1 GB i 0,50 USD/GB od 50 GB. Płatność w kryptowalutach, bez KYC.
| Host bramy | gw.crawlrelay.com |
|---|---|
| Port HTTP / HTTPS | 7777 (witryny HTTPS przez CONNECT) |
| Port SOCKS5 | 7778 (użyj socks5h:// aby DNS rozwiązywał się na wyjściu) |
| Uwierzytelnianie | Nazwa użytkownika i hasło twojego planu lub sub-użytkownika, albo lista dozwolonych IP (do 10 IP) |
| Format nazwy użytkownika | USERNAME-country-{cc}-state-{state}-city-{city}-zip-{zip}-asn-{asn}-session-{id}-ttl-{minutes} |
| Długość sesji | do 30 minut; IP może się zmienić wcześniej |
| Testowy URL | https://api.ipify.org zwraca IP wyjścia jako zwykły tekst |
| API zarządzania | https://crawlrelay.com/api/v1, Klucze API, które możesz w każdej chwili unieważnić (dokumentacja API) |
Skopiuj nazwę użytkownika i hasło z panelu, a następnie uruchom jeden z tych przykładów. Każdy wyświetla adres IP, który widzi strona, zwykle zmienia się przy każdym uruchomieniu.
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());Zacznij od nazwy użytkownika z panelu i dodaj parametry łącznikiem, zgodnie z powyższym formatem. Każdy parametr jest opcjonalny. Wartości pisz małymi literami, a nazwy miast używają podkreśleń (new_york, sao_paulo). Dostępność miast jest różna.
| Cel | Nazwa użytkownika |
|---|---|
| Dowolny kraj, rotacja przy każdym połączeniu | USERNAME |
| Niemcy | USERNAME-country-de |
| Paryż | USERNAME-country-fr-city-paris |
| Teksas | USERNAME-country-us-state-tx |
| Jeden kod pocztowy | USERNAME-country-us-zip-10001 |
| Jeden dostawca internetu | USERNAME-country-us-asn-7922 |
| Ta sama IP do 30 minut | USERNAME-country-gb-session-abc123-ttl-30 |
Jeśli twoje hasło zawiera @, : lub /, zakoduj je w URL przed użyciem w adresie proxy. Strona błędu 407 pokazuje, jak to zrobić.
Nazwa użytkownika bez session- pobiera IP z puli przy każdym nowym połączeniu TCP, zwykle inne. Nazwa użytkownika z session-<id>-ttl-<minutes> zachowuje tę samą IP wyjścia dla tego ID, aż do wygaśnięcia TTL lub rozłączenia urządzenia proxy rezydencjalnego.
Przewodnik po sesjach opisuje ponowne użycie połączeń w każdej bibliotece.
Najpierw sprawdź, czy odpowiedziała brama, czy strona za nią.
| Widzisz | Wysłane przez | Zwyczajna przyczyna | Co robić |
|---|---|---|---|
| 407 | Bramka | Błędne lub niezakodowane dane logowania | Popraw nazwę użytkownika lub hasło; nigdy nie próbuj ponownie bezmyślnie |
| ERR_TUNNEL_CONNECTION_FAILED | Przeglądarka | CONNECT odrzucone (często ukryty 407) | Przekaż dane logowania jako pola, nie w adresie serwera |
| 502 / 504 | Brama lub CDN | Wyjście zerwane, cel wolny lub niedostępny | Spróbuj ponownie na nowym połączeniu, z ograniczeniem |
| 403 | Strona internetowa | Zły kraj, nagłówki, limit lub odmowa | Sprawdź w przeglądarce; zwolnij lub uszanuj odmowę |
| 429 | Strona internetowa | Limit częstotliwości | Przestrzegaj Retry-After; zmniejsz równoczesność na hosta |
| SSL: NIEPRAWIDŁOWA_WERSJA_NUMER | Twój klient | https:// przed adresem proxy | Użyj http:// jako adresu proxy |
Wszystkie wpisy 15 są w referencji błędów.
W panelu lub przez REST API pod https://crawlrelay.com/api/v1 z kluczem API. Klucze API, które możesz w każdej chwili unieważnić. Główne funkcje:
requests, httpx, aiohttp, asynchroniczna równoczesność
Middleware, sesje na żądanie, AutoThrottle
Python i Node.js, proxy na kontekst
Flaga plus page.authenticate()
Uwierzytelnione proxy przez lokalnego forwardera
undici, axios, got, SOCKS5
HTTP, SOCKS5, debugowanie za pomocą -v
Ponowne użycie połączenia, TTL, jedno IP na przepływ
Limity na host, przepustowość i opóźnianie
CrawlRelay publikuje poradniki kopiuj-wklej dla Python (requests, httpx, aiohttp), Scrapy, Playwright, Puppeteer, Selenium, Node.js oraz curl, referencję 15 błędów proxy i REST API reference z przykładami curl, Python i Node.js. Każdy przykład korzysta z prawdziwego hosta i portów bramowych, a fragmenty są sprawdzane pod kątem składni przed publikacją.
Nie. Uwierzytelnianie nazwą użytkownika i hasłem działa z dowolnej maszyny, więc możesz uruchamiać ten sam scraper na laptopie, serwerze lub CI. Jeśli wolisz, dodaj do 10 IP na listę dozwolonych. Dane logowania trzymaj w zmiennych środowiskowych lub menedżerze sekretów, nigdy w repozytorium.
Albo Twoja nazwa użytkownika zawiera ID sesji, które celowo utrzymuje jedno IP, albo Twój klient ponownie wykorzystuje jedno utrzymywane połączenie. Rotacja następuje przy każdym nowym połączeniu. Usuń część dotyczącą sesji lub otwieraj nowe połączenie dla każdego żądania, jak pokazano w instrukcji sesji].
Używaj portu HTTP (7777) do web scrapingu: każda biblioteka i przeglądarka go obsługuje z uwierzytelnianiem, a strony HTTPS działają przez tunele CONNECT. SOCKS5 (7778) stosuj do narzędzi, które obsługują tylko SOCKS, razem z socks5h://, aby DNS był rozwiązywany na wyjściu.
Wywołaj https://api.ipify.org przez proxy, aby uzyskać IP, a następnie sprawdź je w zaufanej bazie geolokalizacji. Bazy różnią się w przypadku niektórych IP, zwłaszcza mobilnych, więc zweryfikuj też to, co serwuje cel: waluta, język i lokalne wyniki mają znaczenie dla Twoich danych.
Plany są rozliczane za GB, nie za żądanie, a pierwsze limity to limity celów. Kontroluj tempo każdego celu osobno i zmniejszaj intensywność przy odpowiedziach 429 i 503. Jeśli planujesz bardzo duże crawl, najpierw powiadom support pod [email protected].
Od 0,50 USD/GB · bez KYC
Rozpocznij