Przejdź do treści
Rankupedia
RankupediaZarejestruj się

Wpis: błędy

Wywołania sprawdzania oceny domeny, które kończą się niepowodzeniem: 401, 402 i puste wiersze

Wpis: błędy. Dwa kody HTTP niosą znaczenie, jedna flaga informuje o zakończeniu wywołania, a właściwość danych wyjaśnia większość niespodzianek.

Zepsuty kamienny most z brakującym fragmentem i trzema kluczami na mchy stole

Objaw, przyczyna, rozwiązanie

ObjawPrawdopodobna przyczynaRozwiązanie
HTTP 401Klucz nieobecny, wpisany błędnie lub unieważnionyWyślij key=sk_... lub nagłówek Bearer; skopiuj klucz ponownie ze strony konta
HTTP 402Brak środkówDoładuj w USDT (TRC-20); darmowe akcje nadal działają
ok to falseWywołanie nie zostało ukończoneNajpierw przeczytaj status HTTP, a następnie treść odpowiedzi
Domena wygląda na niescoreowanąMało lub brak linków w indeksieSprawdź domeny odsyłające; DR na poziomie 0 oznacza, że nie znaleziono żadnych
Brak świeżego linkuIndeks odświeża się mniej więcej raz w miesiącuPoczekaj na kolejne odświeżenie; nie powtarzaj wywołania w pętli
Stronicowanie kończy się na 50 000 wierszachLimit paginacjiZawęż wyniki za pomocą zapytania lub sortowania, a następnie kontynuuj stronicowanie
Odrzucenie wywołania zbiorczegoWięcej niż 2000 domenPodziel listę na mniejsze fragmenty
Limity w jednym miejscu

Płatności odbywają się w USDT w sieci TRC-20. Logowanie jest możliwe wyłącznie przez Google. Listy zbiorcze są ograniczone do 2000 domen, wywołania listy do 1000 wierszy, a głębokie stronicowanie do 50 000 wierszy.

Kolejność diagnozowania

Zacznij od kodu statusu. 401 dotyczy tożsamości, a 402 pieniędzy. Są one rozwiązywane w różnych miejscach.

Następnie przeczytaj ok. Każda odpowiedź go zawiera. Przy wywołaniach uwierzytelnionych pole _credits pokazuje koszt i pozostałe środki, więc wyczerpanie salda jest widoczne przed pojawieniem się kodu 402.

Zachowaj tę kolejność w swojej instrukcji obsługi. Każdy, kto od razu rzuci się na dane, może spędzić porę na rozwiązywaniu problemu, który kod statusu wskazałby od razu.

Dopiero potem możesz podejrzewać dane. Młoda strona często pokazuje niskie DR. Przyczyną rzadko jest błąd. Bardziej prawdopodobnym powodem jest miesięczny snapshot, który jest starszy niż jej linki. Porównaj wynik z wpisem dotyczącym formuły.

Rozróżnianie problemu z kluczem od problemu z saldem

401 i 402 wyglądają podobnie w skrypcie, ponieważ zatrzymują tę samą pętlę. Mają różne przyczyny, więc rozdziel je zanim cokolwiek zmienisz.

Zacznij od darmowej akcji na tej samej domenie. Jeśli odpowie ona poprawnie, a wywołanie płatne nie, domena jest w porządku, a problem leży w kluczu lub saldzie.

Kiedy 401 pojawia się po skopiowaniu

Klucz skopiowany z spacją na końcu lub ucięty jest częstą przyczyną 401. Klucze zaczynają się od sk_, więc sprawdź ten prefiks i porównaj cały ciąg z kopią ze strony konta.

Zamień klucz w jednym miejscu i uruchom ponownie to samo pojedyncze wywołanie. Zmiana kilku rzeczy naraz utrudnia odczytanie wyniku.

Kiedy pojawia się 402 po doładowaniu

402 oznacza, że akcja płatna nie ma już środków. Przeczytaj pozostałe saldo w _credits w następnej uwierzytelnionej odpowiedzi zanim zrobisz cokolwiek innego.

Jeśli saldo wygląda poprawnie, porównaj je z kosztem wywołania, które się nie powiodło. Liczby pokażą, czy wywołanie po prostu przekracza saldo.

Zapisz godzinę doładowania, aby log i saldo można było później porównać.

Krótka notatka z salda przed i po każdym doładowaniu ułatwi odczytanie kolejnego 402.

Przechodzenie przez pusty wynik

01

Potwierdzenie zakończenia wywołania

Najpierw przeczytaj ok. Wartość false oznacza, że wywołanie się nie zakończyło, więc pusta lista nic nie mówi o domenie.

02

Sprawdź wysłaną nazwę

Wartość q musi być gołą domeną. Protokół, ścieżka lub przypadkowa spacja mogą zwrócić pusty wynik, który wygląda na prawdziwy.

03

Porównanie z darmową akcją

Uruchom overview dla tej samej nazwy. Jeśli zwraca dane, a lista nie, działanie listy i jej limity są kolejnym podejrzanym.

04

Sprawdź datę odświeżenia

Indeks aktualizuje się mniej więcej raz w miesiącu. Link dodany po ostatnim odświeżeniu nie pojawi się, niezależnie od liczby wywołań endpointu.

Pojedyncza napięta sprężyna w drewnianym mechanizmie zegarowym na stole warsztatowym

Minimalna polityka ponawiania

  • Nigdy nie powtarzaj automatycznie 401 ani 402
  • Ponawiaj błędy sieciowe ze wzrostem opóźnień
  • Zatrzymaj się, gdy _credits pokaże saldo bliskie zeru
  • Buforuj pomyślne odpowiedzi przez miesiąc
  • Loguj akcję i domenę przy każdym niepowodzeniu

Pytania brzegowe

Czy środki są pobierane za nieudane wywołanie?

W tym odniesieniu nie określamy reguły rozliczeniowej dla nieudanych wywołań. Śledź _credits w następnej uwierzytelnionej odpowiedzi i porównaj pozostałe saldo ze swoimi oczekiwaniami.

Dlaczego darmowa akcja działa po 402?

Ponieważ domain, overview, stats i suggest nie wymagają klucza ani środków. Tylko akcje płatne są blokowane, gdy saldo jest puste.

Skąd pochodzą nazwy pól?

Zobacz wpis o polach API, aby poznać ogólny kształt, i wywołaj żywy endpoint dla wierszy specyficznych dla akcji.

Dlaczego ocena może wyglądać źle bez żadnego błędu

Czasami wszystkie pola docierają na czas, a liczba i tak Cię zaskakuje. Odpowiedź jest poprawna dla swojego snapshotu, więc prawdziwym pytaniem jest, co ten snapshot zawiera.

Trzy sytuacje wyjaśniają większość tych przypadków.

> Domena uruchomiona niedawno

Strona uruchomiona niedawno może pokazywać DR 0, ponieważ snapshot jest starszy niż jej linki. Zero oznacza tutaj, że nie znaleziono domeny odsyłającej, a nie wyrok dla strony.

Poczekaj na późniejsze odświeżenie, zanim odczytasz wynik jako ocenę strony.

Porównaj wiek domeny z cyklem odświeżania zanim podejmiesz działanie. Nowa nazwa i stara nazwa, która nigdy nie przyciągnęła linków, wyglądają podobnie w tym samym snapshotie.

Link, który pojawił się w tym miesiącu

Linki dodane po ostatnim odświeżeniu nie są widoczne w wyniku. Powtórne wywołanie zwraca tę samą odpowiedź do kolejnego odświeżenia.

Zapisz datę linku i datę snapshotu, aby luka była łatwa do wyjaśnienia każdemu, kto czyta raport.

Link, który zniknął

Link może zniknąć, gdy jego strona zostanie usunięta lub strona nadająca link zamknie się. Licznik spada wtedy, mimo że nic się nie zmieniło po Twojej stronie.

Porównaj dwa snapshoty oddalone o kilka miesięcy, zanim obwinisz endpoint.

Policz, ile domen się zmienia, a nie tylko całkowitą liczbę. Mała utrata rozproszona na wiele stron wygląda inaczej niż jedna duża utrata z jednej strony.

Gdzie znajduje się każde rozwiązanie

RozwiązanieMiejsce
Nowy lub skopiowany kluczStrona konta
Doładowanie w USDT (TRC-20)Strona konta
Fragmentowanie i ponawianieTwój własny kod klienta
Czekanie na odświeżenieNic do zrobienia; indeks odświeża się mniej więcej raz w miesiącu
Lupa nad sękiem drzewa z kroplą wody spadającą w pobliżu

Odtworzenie niepowodzenia do raportu o błędzie

01

Sprowadź do jednego wywołania

Usuń pętlę i zachuj pojedyncze polecenie curl, które się nie powiodło.

02

Zapisz odpowiedź

Znotuj status HTTP, wartość ok i pole _credits, jeśli jest obecne.

03

Wypróbuj darmową akcję na tej samej domenie

Jeśli overview działa, a akcja płatna nie, winny jest klucz lub saldo, a nie domena.

04

Wyślij szczegóły

Zapisz godzinę, akcję i pierwszy oraz ostatni znak klucza, aby wywołanie można było dopasować do konta. Zachowaj pełny klucz poza raportem.

Co zapisać przy każdym nieudanym wywołaniu

Krótka notatka wystarczy do zdiagnozowania większości niepowodzeń.
ZapisaćDlaczego to pomaga
Status HTTPOddziela 401 od 402 na pierwszy rzut oka
Wartość okPokazuje, czy wywołanie się zakończyło
_credits, gdy jest obecnyPokazuje saldo w momencie niepowodzenia
Akcja i domenaPozwala powtórzyć to samo wywołanie celowo
Czas wywołaniaUmieszcza je w kontekście miesięcznego odświeżenia

Dlaczego nie automatyczne ponawianie

Pętla na 402 zużywa czas i nic nie zyskuje. Pętla na 401 może uruchomić detekcję nadużyć u dowolnego dostawcy, naszego lub Google.

Zarezerwuj ponawiania dla błędów sieciowych i zwiększaj opóźnienie przy każdym kolejnym ponowieniu. Trzy próby to rozsądny limit dla zadania nocnego.

Załóżmy, że zadanie nocne napotka 402 o drugiej w nocy. Ponawianie co pięć minut aż do śniadania daje około stu identycznych niepowodzeń, a każde z nich to linia logu, którą ktoś będzie musiał przeczytać później.

Użyj stałego limitu również dla ponawiania błędów sieciowych i loguj każdą próbę. Limit, który można opisać jednym zdaniem, jest łatwy do obronienia, gdy zadanie się zatrzyma.

Alerty dla zadania działającego bez nadzoru

Nocne zadanie sprawdzania oceny domeny powinno poinformować kogoś, gdy się zatrzyma, i powiedzieć dlaczego. Dwa kody wymagają różnych alertów, więc trzymaj je osobno w wiadomości.

Alert przy pierwszym 401

Jeden 401 zwykle oznacza problem z kluczem, więc pojedyncze niepowodzenie jest warte wiadomości. Czekanie na sto identycznych niepowodzeń tylko opóźnia naprawę.

Dołącz pierwszy i ostatni znak klucza w alercie, a nie cały klucz, aby wiadomość była bezpieczna do udostępnienia kolegom.

402 zasługuje na własną wiadomość, ponieważ jego rozwiązaniem jest doładowanie, a nie zmiana klucza.

Ciche zadanie nie jest necessarily zdrowym zadaniem. Policz uruchomienia, które się zakończyły, a nie tylko te, które się nie powiodły, i alertuj, gdy żadna z liczb nie zmienia się przez pełny cykl.

Alert przy spadającym saldzie

Ustaw ostrzeżenie na poziomie, który pokrywa resztę uruchomienia, a nie na zerze. Saldo, które jest prawie puste, gdy zadanie się zaczyna, nie zostawia miejsca na ponowienia.

Odczytuj poziom z _credits przy każdej uwierzytelnionej odpowiedzi, aby ostrzeżenie nie wymagało dodatkowego żądania.

Uwaga dotycząca przestarzałych danych

Nasz crawler i indeks linków odświeżają się mniej więcej raz w miesiącu. Niedawno uruchomiona strona może pokazywać DR 0, a jest to poprawny odczyt snapshotu, ponieważ nie zawiera jeszcze żadnej domeny odsyłającej dla tej strony.