Najważniejsze zmiany
Czy to witryna odrzuciła żądanie, czy Twój plan? Każdy request odrzucony przez Twój plan zawiera teraz odpowiedź w jednym nagłówku, a tryb Auto i Playground również go odczytują. Port proxy zapamiętuje teraz targetowanie na podstawie klucza, a renderowanie w Browser, w tym strony interaktywne, jest dostępne w każdym planie, również Free.
Nowości
Odmowa wskazująca źródło
Gdy jeden z limitów Twojego planu odrzuci request, response zawiera header X-FourA-Limit wskazujący który: plan_limit_credits, plan_limit_rate, plan_limit_browser_daily i cztery inne. Body powtarza ten kod w polu reason, obok przypisanego limitu. Nasze współdzielone limity platformy nigdy nie ustawiają tego nagłówka, więc sama jego obecność oznacza, że odmowa dotyczy Twojego konta, a nie obciążenia FourA.
import requests
r = requests.post(
"https://api.foura.ai/api/single",
headers={"X-API-Key": "pk_live_..."},
json={"url": "https://example.com/data"},
)
limit = r.headers.get("X-FourA-Limit")
if limit:
print("my plan stopped this:", limit, r.json()["error"])
Każdy limit na Twoim koncie wynika teraz z posiadanego planu, a sekcja Usage & Limits wyświetla każdy z nich wraz z Twoim aktualnym zużyciem w danym okresie. Dokumentacja rate limits zawiera wszystkie siedem kodów wraz z informacją, które z nich znikają po krótkim odczekaniu.
Auto odczytuje ten sam kod i odpowiednio na niego reaguje. Limit, który blokuje jeden stopień (na przykład dzienny przydział przeglądarki), pozostawia resztę ścieżki aktywną, a punkty wyjściowe, które zostały już sprawdzone, nie są obwiniane za odmowę wynikającą z Twojego planu. Limit oznaczający wyczerpanie zasobów samego konta, takich jak kredyty, transfer danych czy produkt niedostępny w Twoim planie, natychmiast zatrzymuje całą sekwencję i zwraca odmowę, zamiast bezcelowo testować wszystkie pozostałe trasy. Nic z tego nie zmienia przeznaczenia trybu Auto: pozwól mu znaleźć działający stopień, a następnie odtwórz zwróconą sesję na /api/single lub /api/browser i tam skieruj swój główny ruch.
Playground opisuje to wprost. Linia nad odpowiedzią wskazuje, co obsłużyło stronę: sesja, którą już mieliśmy dla danego hosta, zwykły request, rotujący proxy czy prawdziwa przeglądarka, a także czy challenge został rozwiązany, która próba się powiodła i ile to kosztowało. Gdy to Twój plan zatrzymał request, linia zaczyna się od "Stopped by your plan, not by the site" i wskazuje konkretny limit.
Port proxy w fazie beta
Port proxy pozwala dowolnemu klientowi obsługującemu proxy URL przesyłać ruch przez nasze węzły wyjściowe, bez konieczności wywoływania API. To wersja beta: ruch przez ten port nie jest jeszcze rozliczany, nie jest objęty gwarancją uptime, a nazwy opcji mogą ulec zmianie.
W tym tygodniu konfiguracja stała się bardziej przejrzysta w kwestii wyboru sieci: sieć współdzielona (shared), oparta na naszych własnych serwerach wyjściowych i zawarta w planie, albo sieć rezydencjalna (residential), korzystająca z adresów domowych w ramach pakietu premium. Przełączanie awaryjne na residential, gdy sieć shared nie jest w stanie obsłużyć żądania, to osobny przełącznik, domyślnie wyłączony. Włączenie go za Ciebie oznaczałoby decydowanie o zużyciu Twojego pakietu.
Targetowanie jest teraz przypisane bezpośrednio do danych uwierzytelniających. Zapisz kraj, region, miasto lub urządzenie na użytkowniku proxy, a każde nawiązane połączenie zastosuje te parametry. Dzięki temu connection string ogranicza się do samych danych logowania i ewentualnych wyjątków. Nazwa użytkownika nadal ma jednak pierwszeństwo dla danego połączenia, a any pozwala nadpisać zapisaną wartość: -city-any żąda całego kraju przy kluczu ze zapisanym konkretnym miastem.
Używasz osobnego profilu przeglądarki dla każdego adresu? Określ wymaganą liczbę stałych adresów (sticky), a strona wygeneruje po jednej linii dla każdego z nich, z osobną nazwą sesji. Opcja New names generuje nowy zestaw, gdy cel zablokuje poprzedni, a linie są dostępne jako URL lub w formacie host:port:user:pass, importowanym przez większość menedżerów proxy. Pełna składnia parametrów w nazwie użytkownika znajduje się w dokumentacji portu proxy.
Ochrona stron w każdym planie
Renderowanie w przeglądarce i interaktywne strony są częścią każdego planu, w tym Free, a różnią się jedynie limity. Plany Free i Developer zawierają również część ruchu przez węzły wyjściowe premium, więc możesz sprawdzić działanie zabezpieczonej strony na własnym URL przed dokonaniem jakiejkolwiek opłaty.
Węzły wyjściowe premium w Proxy Finder nie biorą już pod uwagę docelowej witryny. Wyślij exitClass: premium dla dowolnego celu, a jedynym czynnikiem decydującym jest ruch premium w Twoim planie (oraz jego dostępny stan).
Rozliczenia dopasowane do Twoich danych
Firma, numer NIP/VAT i kraj zapisane w Szczegółach płatności to dane, które umieszczamy na fakturze i które decydują o sposobie naliczania VAT przy kasie oraz przy każdym odnowieniu. Wpisanie innych danych w formularzu płatności nadpisuje to konkretne pole tylko dla tej jednej transakcji.
Jeśli skonfigurowaliśmy dla Ciebie plan w ramach podpisanej umowy, zakładka Plan i użycie wyświetla go teraz z przyciskiem Potwierdź: wybierz okres miesięczny lub roczny, dodaj kartę i opłać cały okres z góry, bez naliczania proporcjonalnego.
Dwie nowe karty znajdują się obok kredytów w sekcji Plan i użycie, jedna dla transferu, a druga dla ruchu premium. Każda pokazuje bieżące zużycie w odniesieniu do limitu planu oraz dokupionych pakietów. Gdy dostępne jest doładowanie danego typu, przycisk Kup znajduje się bezpośrednio na odpowiedniej karcie. Przewodnik po rozliczeniach omawia oba przypadki.
Pod maską
Twój limit zapytań na minutę (rate limit) zlicza dokładnie ruch wysłany w danej minucie, aż do rozpoczęcia kolejnej. Tabele w panelu mieszczą się na ekranie laptopa, a na telefonie szerokie tabele przewijają się poziomo wewnątrz własnej ramki. Tabele na blogu przewijają się w ten sam sposób na wąskich ekranach. Z kolei strona organizacji wyświetla oczekujące zaproszenia od razu po otwarciu.
Zrozumiały komunikat o odrzuceniu pozwala odpowiednio zaplanować dalsze działania. Gdy następnym razem zadanie zostanie zatrzymane, pojedynczy header wskaże, czy należy odczekać sekundę, poczekać do północy UTC, czy sprawdzić parametry planu.