Najważniejsze informacje
Są dwa dobre sposoby na zakończenie strony weryfikacyjnej: otrzymujesz stronę docelową albo za nią nie płacisz. W tym tygodniu do tej zasady dołączyły Reddit, eBay i witryny za Imperva. Doładowania mogą się teraz kupować same, zanim długie zadanie wyczerpie środki. Z kolei odpowiedź "Invalid API key" zawsze oznacza, że klucz jest rzeczywiście nieprawidłowy. Większość z tego znajduje się już w dzienniku zmian; oto podsumowanie tygodnia w jednym miejscu.
Co nowego
Strony weryfikacyjne Reddit, eBay i Imperva
Reddit odpowiada na żądania z wielu adresów krótką weryfikacją JavaScript, małą stroną zatytułowaną po prostu "Reddit", zanim cokolwiek wyświetli. Proxy Finder i Auto kończą teraz tę weryfikację na tym samym węźle wyjściowym i przekazują żądaną stronę. Jest rozliczana według standardowej ceny strony, jak każda inna.
eBay czasami reaguje na nowe żądanie dotyczące oferty własną stroną weryfikacyjną, która uruchamia test w przeglądarce, a następnie przechodzi do oferty. Browser czeka teraz na zakończenie tego procesu i zwraca ofertę. Jeśli jednak eBay mimo to odmówi dostępu, otrzymujesz z powrotem stronę weryfikacyjną, bez naliczania opłat.
Strona challenge, strona incydentu oraz strona weryfikacyjna Imperva znajdują się teraz na naszej liście znanych stron testowych. Single, Browser i Proxy Finder oznaczają je w nagłówku X-FourA-Check-Page i nie naliczają za nie opłat. Auto traktuje je jako nietrafione: gdy zapisana sesja na nie trafi, szuka dalej właściwej strony, zamiast zwracać weryfikację.
Dokumentacja site checks wymienia każdy rozpoznawany przez nas system i zachowanie poszczególnych endpointów. Jeśli strona weryfikacyjna trafiła kiedykolwiek do Twoich danych jako prawidłowa odpowiedź (pisaliśmy o tym, jak do tego dochodzi), to są to trzy kolejne witryny, na których to nie nastąpi.
Automatyczne doładowania
Jeśli Twój plan obsługuje doładowania, sekcja Billing w Dashboardzie może teraz kupować je za Ciebie. Wybierasz moment aktywacji: przy 80, 85, 90 lub 95% wykorzystanego limitu. Określasz również kwotę każdego doładowania oraz liczbę jego uruchomień w jednym okresie rozliczeniowym. Każdy zakup obciąża zapisaną kartę, generuje osobną fakturę i wysyła powiadomienie e-mail.
Nieudana płatność nie jest ponawiana. Reguła zostaje wstrzymana, a okno dialogowe wyświetla datę i powód: na przykład odrzucenie karty lub wymóg potwierdzenia płatności przez bank. Usuń przyczynę i zapisz regułę, aby włączyć ją ponownie.
Utrzymuj niski limit na okres rozliczeniowy. Służy on do zabezpieczenia przed niekontrolowanymi zakupami w nocy przez zapętlone zadanie i nie zastępuje budżetu. W przewodniku po automatycznych doładowaniach szczegółowo opisano każde ustawienie.
"Invalid API key" oznacza problem z kluczem
Błąd 401 z komunikatem "Invalid API key" oznacza teraz zawsze, że sprawdziliśmy Twój klucz i został on odrzucony. Twój klient może więc natychmiast przerwać operację. Jeśli chwilowo nie możemy zweryfikować klucza, klucz potwierdzony w ciągu ostatnich 10 minut nadal działa. W przeciwnym razie otrzymasz kod 503 z informacją API key check temporarily unavailable oraz nagłówkiem Retry-After: 5, a opłata nie zostanie naliczona.
Ten podział ułatwia obsługę błędów:
import time
import requests
for attempt in range(3):
r = requests.post(
"https://api.foura.ai/api/single",
headers={"X-API-Key": "pk_live_..."},
json={"url": "https://example.com/data"},
)
if r.status_code == 401:
raise SystemExit(r.json()["error"]) # the key is wrong: fix it, don't retry
if r.status_code == 503 and "Retry-After" in r.headers:
time.sleep(int(r.headers["Retry-After"]))
continue
break
Dokumentacja błędów opisuje wszystkie cztery rodzaje kodu 503 oraz wymagane działania dla każdego z nich.
Dokumentacja i blog w formacie Markdown
Dodaj .md do adresu dowolnej strony dokumentacji lub wpisu na blogu albo wyślij żądanie z nagłówkiem Accept: text/markdown, aby otrzymać czysty Markdown, który asystent AI może przetworzyć bez otaczającego kodu strony. Strona główna, cennik, API, port proxy oraz strony MCP również mają wersje Markdown, a plik llms.txt linkuje każdą stronę bezpośrednio pod jej adresem Markdown. Każda strona dokumentacji i wpis zawiera także przycisk Kopiuj jako Markdown, a obok Otwórz w ChatGPT oraz Otwórz w Claude.
(Ten przegląd nie jest wyjątkiem. Dodaj .md na końcu jego adresu URL.)
Mniejsze poprawki
- Jeśli pozostawisz otwartą stronę rejestracji na kroku "sprawdź swoją skrzynkę", otrzymasz dokładnie jeden żądany e-mail weryfikacyjny, bez duplikatów podczas oczekiwania w karcie. Przycisk ponownego wysłania e-maila na tym etapie wyśle kolejną kopię, kiedy będziesz jej potrzebować.
- Widok główny panelu dostosowuje układ kafelków do Twojego ekranu, dzięki czemu każdy wiersz jest w pełni wypełniony przy dowolnej szerokości. Wartości ruchu i czasu są zaokrąglane do rozmiaru komórki, a dokładna wartość wyświetla się po najechaniu kursorem. Wartość dla trybu Auto ma zielony kolor na kartach Requests i Credits, a przykładowy widok główny nowego konta uwzględnia tryb Auto.
- Przetłumaczone strony dokumentacji używają tych samych kotwic sekcji co wersje angielskie, więc linki do sekcji i spis treści prowadzą do właściwego nagłówka we wszystkich 13 językach. Nagłówki w przetłumaczonej dokumentacji i wpisach są teraz również przetłumaczone.
- Nagłówek bloga prowadzi do sekcji Porównania, gdzie każdy wpis zestawia FourA z jednym konkretnym dostawcą pod kątem cen. Nagłówek dopasowuje się do każdego ekranu, od małego telefonu po szeroki monitor.
Pod maską
Nowe połączenia z portem proxy są teraz rozdzielane na wszystkie nasze serwery, tak jak ma to już miejsce w przypadku wywołań API. Serwer, którego port proxy lub API przestaje odpowiadać, automatycznie wycofuje się z puli i wraca do niej po odzyskaniu sprawności. Nie musisz niczego zmieniać w swoim kliencie ani w parametrze proxy username.
Każda poprawnie rozpoznana przez nas strona weryfikacji to o jeden niepewny status 200 mniej dla Twojego parsera.