Перейти до змісту
Rankupedia
RankupediaЗареєструватися

Запис: помилки

Запити перевірки оцінки домену, що завершуються помилкою: 401, 402 та порожні рядки

Запис: помилки. Два коди HTTP несуть зміст, один прапорець повідомляє про завершення запиту, а властивість даних пояснює більшість несподіванок.

Зламаний кам'яний міст із відсутнім сегментом та три ключі на мохнатому столі

Симптом, причина, виправлення

СимптомЙмовірна причинаВиправлення
HTTP 401Ключ відсутній, помилково введений або анульованийНадішліть key=sk_... або заголовок Bearer; скопіюйте ключ знову зі сторінки облікового запису
HTTP 402Кредити вичерпаноПоповнення в USDT (TRC-20); безкоштовні дії все ще працюють
ok falseЗапит не завершеноСпочатку прочитайте статус HTTP, потім тіло відповіді
Домен виглядає як такий, що не має оцінкиМало або зовсім немає посилань в індексіПерегляньте посилальні домени; DR 0 означає, що їх не знайдено
Не вистачає недавнього посиланняОновлення індексу відбувається приблизно щомісяцяЗачекайте наступного оновлення; не повторюйте запит циклом
Сторінкування зупиняється після 50 000 рядківЛіміт пагінаціїЗвужте запит або сортуванням, потім знову використовуйте пагінацію
Відхилено пакетний запитБільше 2 000 доменівРозділіть список на частини
Обмеження в одному місці

Оплату приймаємо в USTC мережею TRC-20. Вхід лише через Google. Ліміт пакетних списків — 2 000 доменів, запитів списку — 1 000 рядків, глибокого пагінації — 50 000 рядків.

Порядок діагностики

Починайте з коду статусу. 401 стосується ідентифікації, а 402 — грошей. Вони виправляються в різних місцях.

Потім прочитайте ok. Кожна відповідь містить його. Для автентифікованих запитів _credits показує вартість та залишок, тому вичерпаний баланс видно до появи 402.

Тримайте цей порядок фіксованим у своєму runbook. Той, хто стрибне одразу до даних, може витратити ранок на проблему, яку код статусу назвав би миттєво.

Тільки після цього варто підозрювати дані. Молодий сайт часто показує низький DR. Причина рідко є багом. Ймовірніша причина — місячний знімок, який передув його посиланням. Порівняйте показник із записом формули.

Розмежування проблеми ключа та проблеми балансу

401 і 402 виглядають однаково в скрипті, бо обидва зупиняють той самий цикл. У них різні причини, тому розділіть їх, перш ніж щось змінювати.

Почніть з безкоштовної дії на тому ж домені. Якщо вона відповідає, а платна — ні, домен у порядку, а проблема в ключі або балансі.

Коли 401 слідує після копіювання

Ключ, скопійований із пробілом на кінці або обрізаний, — поширена причина 401. Ключі починаються з sk_, тому перевірте цей префікс і порівняйте рядок із копією на сторінці облікового запису.

Замініть ключ в одному місці та перезапустіть той самий одиночний запит. Зміна кількох речей одночасно ускладнює інтерпретацію результату.

Коли з'являється 402 після поповнення

402 означає, що для платної дії закінчилися кредити. Спочатку прочитайте залишок у _credits у наступній автентифікованій відповіді.

Якщо баланс виглядає коректним, порівняйте його з вартістю запиту, що завершився помилкою. Числа покажуть, чи просто запит більший за баланс.

Зафіксуйте час поповнення, щоб лог і баланс можна було порівняти пізніше.

Коротка нотатка про баланс до і після кожного поповнення полегшує читання наступного 402.

Робота з порожнім результатом

01

Підтвердьте завершення запиту

Спочатку прочитайте ok. Значення false означає, що запит не завершився, тому порожній список нічого не говорить про домен.

02

Перевірте ім'я, яке ви надіслали

Значення q має бути чистим доменом. Схема, шлях чи зайвий пробіл можуть дати порожню відповідь, яка виглядає як справжня.

03

Порівняйте з безкоштовною дією

Запустіть overview для того ж імені. Якщо вона повертає дані, а список — ні, наступним підозрюваним є дія списку та її ліміти.

04

Перевірте дату оновлення

Індекс оновлюється приблизно раз на місяць. Посилання, додане після останнього оновлення, не з'явиться, скільки б разів ви не зверталися до ендпоінту.

Одинарний натягнутий пружинний механізм у дерев'яному шестерні годинникового механіму на верстаку

Мінімальна політика повторних спроб

  • Ніколи не повторюйте автоматично 401 чи 402
  • Повторюйте помилки мережі з зростаючими затримками
  • Зупиніться, коли _credits показує баланс, близький до нуля
  • Кешуйте успішні відповіді протягом місяця
  • Логуйте дію та домен із кожною помилкою

Периферійні питання

Чи списуються кредити за невдалий запит?

Ми не вказуємо правило билінгу для невдалих запитів у цьому довіднику. Спостерігайте за _credits у наступній автентифікованій відповіді та порівнюйте залишок із очікуванням.

Чому безкоштовна дія працює після 402?

Бо domain, overview, stats та suggest не потребують ключа чи кредиту. Тільки платні дії блокуються, коли баланс порожній.

Звідки беруться назви полів?

Дивіться запис полів API для загальної структури та викличте живий ендпоінт для рядків, специфічних для дії.

Чому оцінка може виглядати неправильно без жодної помилки

Іноді всі поля надходять вчасно, а число все одно здивує вас. Відповідь коректна для свого знімка, тому справжнє питання — що містить цей знімок.

Три ситуації пояснюють більшість таких випадків.

Нещодавно запущений домен

Сайт, запущений недавно, може показувати DR 0, оскільки знімок передув його посиланням. Нуль тут означає, що посилальний домен не знайдено, а не вирок сайту.

Зачекайте пізнішого оновлення, перш ніж читати показник як оцінку сайту.

Порівняйте вік домену з циклом оновлення, перш ніж діяти. Нове ім'я та старе ім'я, що ніколи не приваблювало посилань, виглядають однаково в тому ж знімку.

Посилання, отримане цього місяця

Посилання, додані після останнього оновлення, відсутні в показнику. Повторний запит повертає ту саму відповідь до наступного оновлення.

Зафіксуйте дату посилання та дату знімка, щоб проміжок було легко пояснити будь-кому, хто читає звіт.

Посилання, що зникло

Посилання може зникнути, коли його сторінку видалено або сайт-донор закрився. Кількість тоді падає, хоча нічого не змінилося з вашого боку.

Порівняйте два знімки з різницею в кілька місяців, перш ніж звинувачувати ендпоінт.

Рахуйте, скільки доменів змінюються, а не лише загальну суму. Невелика втрата, розподілена по багатьох сайтах, виглядає інакше, ніж одна велика втрата з одного сайту.

Де живе кожне виправлення

ВиправленняМісце
Новий або скопійований ключСторінка облікового запису
Поповнення в USDT (TRC-20)Сторінка облікового запису
Чанкування та повторна спробаВаш власний клієнтський код
Очікування оновленняНічого не робити; індекс оновлюється приблизно щомісяця
Збільшувальне скло над сучком дерева з краплею води, що падає поруч

Відтворення помилки для звіту про баг

01

Зведіть до одного запиту

Видаліть цикл і залиште одну команду curl, що завершується помилкою.

02

Запишіть відповідь

Зафіксуйте HTTP статус, значення ok та поле _credits, якщо воно присутнє.

03

Спробуйте безкоштовну дію на тому ж домені

Якщо overview працює, а платна дія — ні, проблема в ключі або балансі, а не в домені.

04

Надішліть деталі

Зафіксуйте час, дію та перші та останні символи ключа, щоб запит можна було зіставити з обліковим записом. Зберігайте повний ключ поза звітом.

Що записувати з кожним невдалим запитом

Короткий запис достатній для діагностики більшості невдач.
ЗаписатиЧому це допомагає
Статус HTTPРозрізняє 401 від 402 на перший погляд
Значення okПоказує, чи завершився запит
_credits, коли присутнійПоказує баланс на момент помилки
Дія та доменДозволяє навмисно повторити той самий запит
Час запитуПоміщає його поруч із місячним оновленням

Чому не автоповтор

Цикл на 402 витрачає час і не дає результату. Цикл на 401 може спрацювати на виявлення зловживань у будь-якого провайдера, нашого чи Google.

Залиште повторні спроби для помилок мережі та збільшуйте паузу між кожним повтором. Три спроби — розумна межа для нічної задачі.

Уявіть, що нічна задача стикається з 402 о другій ночі. Повтор кожні п'ять хвилин до сніданку дає приблизно сто однакових невдач, і кожна — рядок логу, який хтось має прочитати пізніше.

Встановіть фіксовану межу і для повторів мережі, і логуйте кожну спробу. Межу, яку можна сформулювати в одному реченні, легко захистити, коли задача зупиняється.

Сповіщення для задачі, що працює без нагляду

Нічна задача перевірки оцінки домену має повідомляти когось, коли вона зупиняється, і пояснювати чому. Два коди потребують різних сповіщень, тому тримайте їх окремо в повідомленні.

Сповіщення на перший 401

Один 401 зазвичай означає проблему з ключем, тому одна невдача варта повідомлення. Очікування ста однакових невдач лише затримує виправлення.

Включіть перші та останні символи ключа в сповіщення, а не весь ключ, щоб повідомлення було безпечним для передачі колезі.

402 заслуговує на власне повідомлення, оскільки його виправлення — поповнення, а не зміна ключа.

Тиха задача не обов'язково означає здорову. Рахуйте завершені запуски, а не лише невдалі, і сповіщайте, коли жодна з цих кількостей не змінюється за повний цикл.

Сповіщення на падаючий баланс

Встановіть попередження на рівні, що покриває решту запуску, а не на нулі. Баланс, майже порожній на старті задачі, не залишає місця для повторів.

Читайте рівень з _credits у кожній автентифікованій відповіді, щоб попередження не вимагало додаткового запиту.

Нотатка про застарілі дані

Наш краулер та індекс посилань оновлюються приблизно раз на місяць. Нещодавно запущений сайт може показувати DR 0, і це правильне читання знімка, оскільки він ще не містить посилального домену для сайту.