ERR_TOO_MANY_REDIRECTS là gì?
Scrapeless Agent Browser cung cấp các phiên trình duyệt được quản lý để kiểm tra điều hướng và trạng thái trang đã render.
ERR_TOO_MANY_REDIRECTS nghĩa là trình duyệt đã dừng theo một chuỗi chuyển hướng vì nó vượt quá giới hạn chuyển hướng cho phép. Một vòng lặp URL lặp lại là nguyên nhân phổ biến, nhưng một chuỗi quá dài cũng có thể dùng hết giới hạn. Lỗi liên quan đến các quyết định điều hướng, vì vậy hãy kiểm tra từng bước nhảy và ngữ cảnh request của nó thay vì bắt đầu bằng khả năng truy cập DNS hoặc proxy.
Tóm tắt
- ERR_TOO_MANY_REDIRECTS có thể phản ánh một vòng lặp lặp lại hoặc một chuỗi chuyển hướng quá dài.
- Scheme, hostname, path và các quy tắc phiên có thể mỗi thứ đều đưa ra các quyết định điều hướng mâu thuẫn nhau.
- Một phiên trình duyệt sạch là trường hợp so sánh; nó không tự động chứng minh rằng cookie đã lưu là nguyên nhân.
- Một collector nên lưu lại lịch sử chuyển hướng và xác thực tài nguyên cuối cùng trước khi chấp nhận dữ liệu.
Vì sao Trình duyệt Dừng Theo Chuyển hướng
ERR_TOO_MANY_REDIRECTS báo rằng quá trình điều hướng đã dùng hết hạn mức chuyển hướng của nó. Mỗi bước nhảy hướng client đến một vị trí khác, nhưng chuỗi này không đạt tới một điểm cuối chấp nhận được trong giới hạn của trình duyệt. Giới hạn cụ thể là chi tiết triển khai, vì vậy chẩn đoán nên dựa trên chuỗi quan sát được thay vì một con số nhớ mang máng.
Các ngữ nghĩa chuyển hướng HTTP và Location giải thích điều hướng do server điều khiển. Một response có thể gửi client đến một URL mới như một phần của quy tắc di chuyển, đăng nhập hoặc chuẩn hóa. Một chuỗi chuyển hướng khỏe mạnh có một biểu diễn cuối cùng có ý nghĩa. Một vòng lặp lặp lại một trạng thái thay vì hoàn tất điều hướng đó.
Một vòng lặp chuyển hướng có thể luân phiên giữa hai URL, quay vòng qua nhiều host, hoặc liên tục thay đổi một tham số query trong khi cùng một quy tắc lặp lại. So sánh quy tắc và trạng thái, không chỉ so sánh bằng nhau URL theo nghĩa đen. Một chuỗi có giá trị tracking mới ở mỗi bước nhảy vẫn có thể đại diện cho cùng một quyết định ứng dụng chưa được giải quyết.
Trình duyệt cũng có thể điều hướng do script hoặc chỉ dẫn trong tài liệu. Thu thập initiator khi có thể và phân biệt các điều hướng đó với chuyển hướng từ HTTP response. Log server về các chuyển hướng trong response có thể không hiển thị toàn bộ câu chuyện điều hướng của trình duyệt nếu một trang đã tải ngay lập tức gửi người dùng đi nơi khác.
Truy vết Chuỗi cùng với Ngữ cảnh Request
Một bản truy vết chuyển hướng cần URL được yêu cầu, status của response, location tiếp theo và ngữ cảnh phiên liên quan tại mỗi bước nhảy. Giữ lại scheme, hostname, path và các tham số không nhạy cảm cần thiết để nhận diện quyết định. Không được xuất các token xác thực được nhúng trong URL chuyển hướng.
Bắt đầu với đúng điểm vào đang bị lỗi. Trang chủ của một site có thể hoạt động trong khi một path bài viết cũ bị lặp, và một trang tài khoản cần đăng nhập có thể bị lặp trong khi trang công khai tải bình thường. Chỉ kiểm tra trang chủ sẽ che mất tuyến đường quan trọng. So sánh path bị lỗi với một path gần đó hoạt động để tìm sự khác biệt trong quy tắc.
Xác định trạng thái lặp lại đầu tiên hoặc quy tắc mâu thuẫn đầu tiên. Một thành phần có thể ép buộc một hostname trong khi thành phần khác ép hostname thay thế. Một quy tắc có thể thêm dấu gạch chéo còn quy tắc khác lại xóa nó. Một trang đăng nhập có thể chuyển hướng đến một đích mà ngay lập tức quyết định người dùng chưa được xác thực và gửi họ quay lại.
Đối với hệ thống sở hữu, ghi lại thành phần nào phát ra mỗi response. Một edge service, reverse proxy, middleware ứng dụng và nhà cung cấp danh tính đều có thể đóng góp các bước nhảy. Chỉ sửa URL cuối cùng hiển thị có thể vẫn để nguyên các quy tắc xung đột ban đầu đang hoạt động. Bản truy vết nên hiển thị chủ sở hữu của quyết định tạo ra vòng lặp.
Xung đột HTTPS Termination và Canonical URL
Một vòng lặp scheme có thể xảy ra khi các thành phần hướng ra trình duyệt và hướng về origin bất đồng về trạng thái bảo mật của request. Một reverse proxy có thể terminate HTTPS và forward request bằng một kênh nội bộ khác. Nếu ứng dụng hiểu sai scheme ban đầu, logic chuyển hướng của nó có thể xung đột với chính sách của edge.
Kiểm tra cấu hình forward và trust được tài liệu hóa cho triển khai sở hữu. Ứng dụng phải diễn giải ngữ cảnh request do proxy cung cấp chỉ từ các trung gian tin cậy. Chấp nhận các header forward tùy ý từ internet mở không phải là một cách sửa lỗi hợp lý. Bản sửa phải căn chỉnh scheme mong đợi tại biên chịu trách nhiệm HTTPS termination.
Các quy tắc hostname và path chuẩn tắc cũng cần một đích nhất quán. Nếu ứng dụng yêu cầu một hostname và redirect của edge yêu cầu một hostname khác, mỗi thành phần trông có vẻ hợp lý cục bộ trong khi hành vi kết hợp của chúng lại tạo vòng lặp. Ghi rõ URL chuẩn tắc dự định và giao quy tắc chuẩn hóa đó cho một chủ sở hữu rõ ràng.
Hành vi HTTP Strict Transport Security có thể ảnh hưởng tới lựa chọn scheme của trình duyệt trước khi request đến server. Giữ chính sách trình duyệt này tách biệt với một HTTP redirect response trong bản truy vết. Tránh gỡ bỏ các biện pháp bảo vệ transport chỉ để làm biến mất triệu chứng; hãy sửa cho đúng các quyết định về scheme trong triển khai.
Cookie và Trạng thái Đăng nhập Có thể Thay đổi Chuỗi Chuyển hướng
Trạng thái phiên có thể ảnh hưởng đến các quyết định chuyển hướng. Một trang công khai có thể điều hướng trực tiếp trong khi một trang đã xác thực đi qua nhà cung cấp danh tính, màn hình đồng ý, hoặc bộ định tuyến tài khoản. Một cookie phiên không hợp lệ hoặc không khả dụng có thể khiến ứng dụng liên tục gửi trình duyệt qua cùng một quyết định đăng nhập.
Các quy tắc phạm vi và trạng thái cookie HTTP giúp giải thích vì sao một cookie có sẵn trên một host hoặc đường dẫn này có thể không được gửi trên host hoặc đường dẫn khác. Chẩn đoán việc phân phối cookie liên quan và cách ứng dụng diễn giải nó mà không sao chép giá trị bí mật của cookie vào log. Việc cookie hiện diện một mình không chứng minh rằng máy chủ đã chấp nhận phiên làm việc.
Một hồ sơ sạch hoặc phiên duyệt web riêng tư cung cấp bằng chứng so sánh hữu ích. Nếu chuỗi chuyển hướng của nó khác, hãy kiểm tra sự khác biệt trạng thái cụ thể: cookie, bộ nhớ, tiện ích mở rộng, hoặc ngữ cảnh xác thực. Duyệt web riêng tư cũng thay đổi môi trường phiên, vì vậy tự nó không phải là một bài kiểm tra dứt khoát rằng “cookie bị hỏng”.
Đối với một luồng đăng nhập do bạn sở hữu, hãy xác minh đích trả về được cấu hình và các điều kiện đánh dấu việc xác thực đã hoàn tất. Một trang thành công đăng nhập mà chuyển hướng đến một route sử dụng domain phiên khác có thể làm lộ sự không khớp phạm vi. Nhà cung cấp danh tính cũng có thể trả về một scheme hoặc host không chính xác. Theo dõi toàn bộ luồng trước khi thay đổi một tham số.
So sánh Vòng Lặp Chuyển Hướng Với Các Lỗi Trang Khác
ERR_TOO_MANY_REDIRECTS yêu cầu có bằng chứng về chuỗi chuyển hướng. Các lỗi lân cận có thể mang lại kết quả hiển thị cho người dùng tương tự nhưng nguyên nhân khác nhau.
| Quan sát | Ý nghĩa | Bằng chứng tiếp theo |
|---|---|---|
| Trạng thái chuyển hướng lặp lại | Các quy tắc hoặc quyết định phiên tạo thành một vòng lặp | Mỗi bước nhảy và thành phần phát ra |
| Chuỗi hữu hạn dài | Quá nhiều quyết định điều hướng trung gian | URL bắt đầu và chuỗi đầy đủ |
| Trang cuối cùng chung chung | Điều hướng kết thúc mà không có danh tính được yêu cầu | Tài nguyên mong đợi và URL cuối cùng |
| Lỗi TLS hoặc kết nối | Truyền tải bị lỗi trước khi có điều hướng sử dụng được | Bằng chứng về kết nối an toàn hoặc mạng |
Một trang kết thúc ở trang chủ chung chung có thể có chuỗi chuyển hướng hữu hạn nhưng vẫn không đáp ứng yêu cầu nội dung của bạn. Một soft 404 có thể trả về thành công mà không có tài nguyên được yêu cầu. Lỗi chứng chỉ có thể dừng điều hướng trước khi có phản hồi an toàn sử dụng được. Hãy giữ nguyên loại cụ thể thay vì coi mọi trang lỗi là một vấn đề chuyển hướng.
Mã trạng thái chuyển hướng không vốn dĩ là một lỗi. Các liên kết hiện hữu và luồng đăng nhập thường phụ thuộc vào chuyển hướng. Câu hỏi là liệu chuỗi đó có đến được tài nguyên dự định và giữ nguyên ý nghĩa yêu cầu phù hợp hay không. Đối với các yêu cầu ứng dụng làm thay đổi trạng thái, hãy xác nhận cách hành vi chuyển hướng được hỗ trợ của client xử lý method và body trước khi cho phép điều hướng tự động.
Bằng Chứng Chuyển Hướng Trong Thu Thập Dữ Liệu Web
Trình thu thập nên giữ lại URL gốc, lịch sử chuyển hướng và danh tính tài nguyên cuối cùng. Việc dùng URL gốc làm khóa nguồn trong khi trích xuất một trang cuối cùng không liên quan có thể làm hỏng bộ dữ liệu. Một bài viết đã được chuyển cần bài viết mới tương ứng; một trang chủ không phải là biểu diễn tương đương chỉ vì nó có thể truy cập được.
Đặt quy tắc thu thập rõ ràng cho các đích được chấp nhận. Chuyển domain có thể được mong đợi đối với một luồng đăng nhập do bạn sở hữu nhưng lại không phù hợp đối với việc thu thập một bài viết công khai ẩn danh. Giữ các quy tắc này cụ thể cho từng quy trình. Nếu đường dẫn đi vào trạng thái xác thực hoặc đồng ý mà trình thu thập không được cấu hình để xử lý, hãy ghi nhận điều kiện đó thay vì trích xuất trang trung gian làm nội dung nguồn.
Môi trường phiên Scrapeless Agent Browser cung cấp khả năng thực thi trình duyệt để kiểm tra điều hướng động. Logic thu thập của bạn vẫn chịu trách nhiệm quyết định xem trang cuối cùng có thể sử dụng được hay không. Duy trì một phiên nhất quán có thể giúp so sánh điều hướng phụ thuộc trạng thái, nhưng nó không thể sửa các quy tắc chuyển hướng mâu thuẫn trên một website mà bạn không kiểm soát.
Sau khi sửa một xung đột chuyển hướng do bạn sở hữu, hãy so sánh một phiên sạch và phiên trước đó bị ảnh hưởng. Kiểm tra chuỗi bắt đầu từ URL vào gốc và xác nhận bản thể hiện cuối cùng mong đợi. Chỉ kiểm thử đích đã-canonical có thể bỏ sót vòng lặp cũ mà người dùng vẫn đi vào thông qua liên kết đã lưu.
Sản phẩm Agent Browser có liên quan khi điều hướng và trạng thái được render quan trọng đối với việc thu thập của bạn. mô hình định tuyến cloud proxy cung cấp bối cảnh để nhận diện các trung gian có thể tham gia vào một đường đi điều hướng. Xem lại các gói Scrapeless hiện tại sử dụng yêu cầu phiên của quy trình thực tế.
Hãy Làm Mọi Quy Tắc Chuyển Hướng Hội Tụ
Giải quyết ERR_TOO_MANY_REDIRECTS nghĩa là làm cho các quy tắc điều hướng kết hợp hội tụ về một điểm cuối sử dụng được. Tìm trạng thái xung đột đầu tiên, xác định các thành phần phát ra nó, và căn chỉnh scheme, URL chuẩn tắc và các quyết định phiên.
Đối với việc thu thập từ bên thứ ba, điểm kết thúc là một tài nguyên cuối cùng được chấp nhận với chuỗi được giữ nguyên. Khi chuỗi vẫn chưa được giải quyết, hãy báo cáo chính xác lỗi điều hướng và giữ nó ngoài các bản ghi nội dung thành công.
Xây Dựng Quy Trình Làm Việc Dữ Liệu Web Quan Sát Được Hơn
Kiểm tra điều hướng trong một phiên Agent Browser được quản lý và giữ lịch sử chuyển hướng gắn liền với danh tính nội dung cuối cùng.
Đăng ký hôm nay và nhận $5 tín dụng miễn phí — không cần thẻ tín dụng.
Nhận $5 Tín Dụng Của Bạn →Câu hỏi thường gặp
H: ERR_TOO_MANY_REDIRECTS có luôn nghĩa là vòng lặp giữa hai URL không?
ERR_TOO_MANY_REDIRECTS không phải lúc nào cũng nghĩa là vòng lặp giữa hai URL. Một vòng lặp dài hơn hoặc chuỗi chuyển hướng quá mức cũng có thể tiêu tốn hết giới hạn của trình duyệt. Hãy theo dõi toàn bộ chuỗi và kiểm tra các quyết định lặp lại, bao gồm các tham số thay đổi.
H: Việc xóa cookie có luôn sửa được vòng lặp chuyển hướng không?
Xóa cookie không phải lúc nào cũng sửa được vòng lặp chuyển hướng. Hãy so sánh một phiên sạch trước và xem xét sự khác biệt. Nếu mọi phiên đều theo cùng các quy tắc scheme hoặc URL xung đột, việc triển khai cần được sửa tại thành phần phát ra các chuyển hướng.
Hỏi: Việc kết thúc HTTPS có thể góp phần gây ra vòng lặp chuyển hướng không?
Việc kết thúc HTTPS có thể góp phần khi lớp biên và ứng dụng không thống nhất về scheme của yêu cầu gốc. Hãy điều chỉnh lại cấu hình tin cậy proxy và scheme đã được ghi nhận. Giữ nguyên các biện pháp bảo vệ khi truyền tải trong khi làm cho các quy tắc chuyển hướng hội tụ.
Hỏi: Một scraper có nên chấp nhận trang chuyển hướng cuối cùng có thể truy cập được không?
Một scraper chỉ nên chấp nhận trang cuối cùng khi danh tính và nội dung của nó đáp ứng yêu cầu thu thập. Một trang chủ, màn hình đăng nhập hoặc trang yêu cầu đồng ý có thể truy cập được mà không đại diện cho tài nguyên được yêu cầu. Hãy lưu lại chuỗi chuyển hướng cùng với bản chụp bị từ chối.