Bài viết: lỗi
Các lệnh gọi kiểm tra điểm miền bị lỗi: 401, 402 và các hàng trống
Bài viết: lỗi. Hai mã HTTP mang ý nghĩa, một cờ cho biết lệnh gọi đã hoàn thành hay chưa, và một thuộc tính dữ liệu giải thích hầu hết các bất ngờ.

Triệu chứng, nguyên nhân, cách khắc phục
| Triệu chứng | Nguyên nhân có thể xảy ra | Cách khắc phục |
|---|---|---|
| HTTP 401 | Thiếu khóa, gõ sai hoặc bị thu hồi | Gửi key=sk_... hoặc tiêu đề Bearer; sao chép lại khóa từ trang tài khoản |
| HTTP 402 | Hết tín dụng | Nạp thêm bằng USDT (TRC-20); các hành động miễn phí vẫn hoạt động |
| ok là false | Lệnh gọi chưa hoàn thành | Đọc trạng thái HTTP trước, sau đó đọc thân phản hồi |
| Miền chưa được tính điểm | Ít hoặc không có liên kết trong chỉ mục | Xem các miền trỏ đến; DR bằng 0 nghĩa là không tìm thấy miền nào |
| Thiếu liên kết gần đây | Chỉ mục được làm mới khoảng một tháng một lần | Chờ lần làm mới tiếp theo; không thử lại liên tục |
| Các trang dừng lại sau 50.000 hàng | Giới hạn phân trang | Thu hẹp bằng truy vấn hoặc sắp xếp, sau đó phân trang lại |
| Lệnh gọi hàng loạt bị từ chối | Hơn 2.000 miền | Chia danh sách thành các phần nhỏ |
Thanh toán bằng USDT trên mạng TRC-20. Đăng nhập chỉ qua Google. Danh sách hàng loạt được giới hạn ở 2.000 miền, lệnh gọi danh sách ở 1.000 hàng, và phân trang sâu ở 50.000 hàng.
Thứ tự chẩn đoán
Hãy bắt đầu với mã trạng thái. Mã 401 liên quan đến định danh, còn mã 402 liên quan đến thanh toán. Hai vấn đề này được xử lý ở các vị trí khác nhau.
Sau đó, hãy đọc ok. Mọi phản hồi đều chứa trường này. Trong các lệnh gọi yêu cầu xác thực, _credits hiển thị chi phí và số dư còn lại, giúp bạn phát hiện tình trạng cạn kiệt tài khoản trước khi gặp mã 402.
Hãy giữ nguyên thứ tự này trong sổ tay vận hành của bạn. Bất kỳ ai nhảy thẳng vào dữ liệu mà bỏ qua bước này có thể mất cả buổi sáng để xử lý một vấn đề mà mã trạng thái đã chỉ ra ngay lập tức.
Chỉ sau đó, bạn mới nên nghi ngờ dữ liệu. Một trang web mới thường có chỉ số DR thấp. Nguyên nhân hiếm khi là lỗi kỹ thuật. Lý do phổ biến hơn là bản chụp hàng tháng được tạo ra trước khi các liên kết được thiết lập. Hãy so sánh con số này với công thức tính điểm đánh giá miền.
Phân biệt vấn đề cốt lõi với vấn đề về số dư
Mã 401 và 402 trông giống nhau trong một kịch bản tự động hóa vì cả hai đều làm dừng vòng lặp đó. Tuy nhiên, nguyên nhân của chúng khác nhau, vì vậy hãy phân biệt chúng trước khi thực hiện bất kỳ thay đổi nào.
Bắt đầu bằng một hành động miễn phí trên cùng một miền. Nếu hành động miễn phí hoạt động nhưng lệnh gọi trả phí không thành công, miền đó vẫn ổn và sự cố nằm ở khóa API hoặc số dư tài khoản.
Khi mã 401 xuất hiện sau khi sao chép
Một khóa được dán kèm theo khoảng trắng ở cuối hoặc bị cắt ngang là nguyên nhân phổ biến gây ra lỗi 401. Các khóa bắt đầu bằng sk_, vì vậy hãy kiểm tra tiền tố này và so sánh toàn bộ chuỗi với bản sao trên trang tài khoản.
Thay thế khóa ở một vị trí và chạy lại cùng một lệnh gọi duy nhất. Thay đổi nhiều thứ cùng lúc sẽ khiến kết quả khó phân tích.
Khi lỗi 402 xuất hiện sau khi nạp tiền
Lỗi 402 có nghĩa là hành động trả phí không còn đủ số dư. Hãy kiểm tra số dư còn lại _credits trong phản ứng xác thực tiếp theo trước khi thực hiện bất kỳ thao tác nào khác.
Nếu số dư đó có vẻ hợp lý, hãy so sánh nó với chi phí của lệnh gọi bị lỗi. Các con số sẽ cho bạn biết liệu lệnh gọi đó có đơn giản là lớn hơn số dư hiện có hay không.
Ghi chú thời điểm bạn nạp tiền, để nhật ký và số dư có thể được so sánh sau này.
Một ghi chú ngắn gọn về số dư trước và sau mỗi lần nạp tiền sẽ giúp việc đọc lỗi 402 trong tương lai dễ dàng hơn.
Xử lý kết quả rỗng
Xác nhận lệnh gọi đã hoàn tất
Đọc kỹ trước. Giá trị false cho biết lệnh gọi chưa hoàn tất, vì vậy một danh sách rỗng không cho bạn biết gì về tên miền.
Kiểm tra tên bạn đã gửi
Giá trị q phải là tên miền thuần. Một scheme, đường dẫn hoặc khoảng trắng thừa có thể tạo ra câu trả lời rỗng trông giống như một kết quả thực.
So sánh với hành động miễn phí
Chạy overview trên cùng tên. Nếu nó trả về dữ liệu và danh sách không trả về, hành động danh sách và các giới hạn của nó là nghi phạm tiếp theo.
Kiểm tra ngày làm mới
Chỉ mục được cập nhật khoảng một lần mỗi tháng. Một liên kết được thêm sau lần làm mới cuối cùng sẽ không xuất hiện, bất kể bạn gọi endpoint bao nhiêu lần.

Chính sách thử lại tối thiểu
- Không bao giờ thử lại tự động 401 hoặc 402
- Thử lại khi gặp lỗi mạng với khoảng thời gian chờ tăng dần
- Dừng lại khi _credits hiển thị số dư gần bằng không
- Lưu cache các câu trả lời thành công trong vòng một tháng
- Ghi lại hành động và tên miền khi mỗi lần thất bại xảy ra
Câu hỏi về giới hạn
Tín dụng có bị trừ khi gọi thất bại không?
Chúng tôi không quy định rõ nguyên tắc tính phí cho các lần gọi thất bại trong tài liệu tham khảo này. Hãy theo dõi _credits trong phản hồi xác thực tiếp theo và so sánh số dư còn lại với kỳ vọng của bạn.
Tại sao hành động miễn phí vẫn hoạt động sau mã 402?
Bởi vì domain, overview, stats và suggest không cần khóa API cũng như không tiêu tốn tín dụng. Chỉ các hành động trả phí mới bị chặn khi số dư bằng 0.
Tên trường (field) đến từ đâu?
Xem mục trường API để biết cấu trúc chung và gọi một endpoint thực tế cho các hàng hành động cụ thể.
Tại sao điểm số có vẻ sai mà không có lỗi
Đôi khi mọi trường đều đến đúng hạn nhưng con số vẫn khiến bạn bất ngờ. Phản hồi là chính xác cho bản chụp của nó, vì vậy câu hỏi thực sự là bản chụp đó chứa gì.
Ba tình huống giải thích phần lớn các trường hợp này.
Một tên miền mới ra mắt
Một trang web mới ra mắt có thể hiển thị DR 0 vì bản chụp trước thời điểm có liên kết của nó. Số 0 ở đây có nghĩa là không tìm thấy tên miền trỏ đến, không phải là phán quyết về trang web.
Hãy đợi một lần làm mới sau đó trước khi đọc con số như một đánh giá về trang web.
So sánh độ tuổi của tên miền với chu kỳ làm mới trước khi hành động. Một tên miền mới và một tên miền cũ chưa từng thu hút liên kết trông giống nhau trong cùng một bản chụp.
Một liên kết đến trong tháng này
Các liên kết được thêm sau lần làm mới gần nhất bị thiếu trong con số. Một lệnh gọi lặp lại sẽ trả về cùng một câu trả lời cho đến khi lần làm mới tiếp theo đến.
Ghi chú ngày của liên kết và ngày của bản chụp, để khoảng cách dễ dàng được giải thích cho bất kỳ ai đọc báo cáo.
Một liên kết bị biến mất
Một liên kết có thể biến mất khi trang của nó bị xóa hoặc trang web cho liên kết đóng cửa. Số lượng sau đó giảm mặc dù không có gì thay đổi ở phía của bạn.
So sánh hai bản chụp cách nhau vài tháng trước khi đổ lỗi cho endpoint.
Đếm số lượng tên miền thay đổi, không chỉ tổng số. Một khoản mất nhỏ trải rộng trên nhiều trang web có ý nghĩa khác với một khoản mất lớn từ một trang web.
Vị trí của từng bản sửa lỗi
| Sửa lỗi | Vị trí |
|---|---|
| Khóa mới hoặc sao chép | Trang tài khoản |
| Nạp tiền bằng USDT (TRC-20) | Trang tài khoản |
| Phân đoạn và thử lại | Mã client của chính bạn |
| Chờ làm mới | Không có gì phải làm; chỉ mục cập nhật khoảng một tháng một lần |

Tái tạo lỗi để báo cáo lỗi
Giảm xuống một lệnh gọi
Loại bỏ vòng lặp và giữ lại một lệnh curl đơn lẻ bị lỗi.
Ghi lại phản hồi
Ghi chú trạng thái HTTP, giá trị ok và trường _credits nếu có.
Thử một hành động miễn phí trên cùng tên miền
Nếu overview hoạt động và hành động trả phí không hoạt động, lỗi nằm ở khóa hoặc số dư, không phải tên miền.
Gửi chi tiết
Ghi chú thời gian, hành động và ký tự đầu và cuối của khóa, để lệnh gọi có thể được khớp với tài khoản. Giữ nguyên khóa đầy đủ trong báo cáo.
Những gì cần ghi lại với mỗi lệnh gọi bị lỗi
| Ghi lại | Tại sao nó hữu ích |
|---|---|
| Trạng thái HTTP | Phân biệt 401 với 402 ngay lập tức |
| Giá trị ok | Cho biết liệu lệnh gọi đã hoàn thành hay chưa |
| _credits, khi có | Hiển thị số dư tại thời điểm xảy ra lỗi |
| Hành động và tên miền | Cho phép bạn lặp lại cùng một lệnh gọi một cách có chủ đích |
| Thời gian của lệnh gọi | Đặt nó so với chu kỳ làm mới hàng tháng |
Tại sao không tự động thử lại
Vòng lặp trên 402 tốn thời gian và không mang lại lợi ích gì. Vòng lặp trên 401 có thể kích hoạt phát hiện lạm dụng ở bất kỳ nhà cung cấp nào, của chúng tôi hoặc Google.
Dự trữ các lần thử lại cho các lỗi mạng, và dành cho mỗi lần thử lại một khoảng thời gian chờ dài hơn lần trước. Ba lần thử là một giới hạn hợp lý cho một công việc chạy ban đêm.
Giả sử một công việc ban đêm gặp 402 lúc hai giờ sáng. Thử lại mỗi năm phút cho đến khi ăn sáng sẽ tạo ra khoảng một trăm lỗi giống hệt nhau, và mỗi lỗi là một dòng nhật ký mà ai đó phải đọc sau này.
Sử dụng một giới hạn cố định cho các lần thử lại mạng, và ghi lại mỗi lần thử. Một giới hạn mà bạn có thể nêu rõ trong một câu rất dễ bảo vệ khi một công việc ngừng chạy.
Cảnh báo cho một công việc chạy không giám sát
Một công việc kiểm tra điểm số tên miền ban đêm nên thông báo cho ai đó khi nó ngừng chạy, và nó nên nói tại sao. Hai mã cần các cảnh báo khác nhau, vì vậy hãy giữ chúng riêng biệt trong thông báo.
Cảnh báo trên 401 đầu tiên
Một 401 thường có nghĩa là một vấn đề về khóa, vì vậy một lỗi đơn lẻ đáng được gửi thông báo. Chờ đợi một trăm lỗi giống hệt nhau chỉ làm chậm việc sửa chữa.
Bao gồm ký tự đầu và cuối của khóa trong thông báo, không phải toàn bộ khóa, để thông báo an toàn khi chia sẻ với đồng nghiệp.
Một 402 xứng đáng có một thông báo riêng, vì cách khắc phục là nạp tiền thay vì thay đổi khóa.
Một công việc im lặng không nhất thiết là một công việc khỏe mạnh. Đếm số lần chạy đã hoàn thành, không chỉ số lần chạy bị lỗi, và cảnh báo khi cả hai số không thay đổi trong một chu kỳ đầy đủ.
Cảnh báo khi số dư giảm
Đặt mức cảnh báo ở mức bao gồm phần còn lại của lần chạy, không phải ở mức không. Một số dư gần như trống khi công việc bắt đầu không còn chỗ cho các lần thử lại.
Đọc mức từ _credits trên mỗi phản hồi xác thực, để cảnh báo không cần một yêu cầu bổ sung.
Bộ thu thập dữ liệu và chỉ mục liên kết của chúng tôi làm mới khoảng một tháng một lần. Một trang web mới ra mắt có thể hiển thị DR 0, và đó là một đọc chính xác của bản chụp, vì nó chưa chứa tên miền liên kết nào cho trang web.