Tất cảMớiCải tiếnĐã sửa
Đã sửa

Thắt chặt quyền truy cập cross-origin trên API

Chúng tôi đã thắt chặt quyền truy cập cross-origin để chỉ duy nhất foura.ai có thể gọi API kèm theo credentials. Chúng tôi cũng đã gia cố bộ lọc đầu vào trên endpoint metrics và loại bỏ fallback secret chỉ dùng cho môi trường phát triển. Các tích hợp hiện tại không thay đổi.

Đã sửa

Quy tắc validate tùy chỉnh được tính là thành công

Nếu bạn đã thiết lập validate.status.accept trên một request, engine sẽ xử lý phản hồi non-200 được chấp nhận như một thành công hoàn toàn. Trước đây, Activity vẫn gắn nhãn những trường hợp đó là thất bại, làm sai lệch số liệu thống kê sử dụng của bạn. Giờ đây, kết quả sẽ tuân theo quyết định validate của bạn, vì vậy mã 403 mà bạn đã chấp nhận sẽ hiển thị là thành công, chứ không phải App Fail.

Cải tiến

Nhãn Hoạt động khớp với Tổng quan

Hoạt động trước đây hiển thị các chuỗi kết quả thô như Application_fail trong khi Tổng quan sử dụng các nhãn thân thiện (App Fail) với màu sắc phù hợp. Hoạt động hiện sử dụng cùng các nhãn và màu sắc đó, giúp hai chế độ xem hiển thị nhất quán.

Đã sửa

Các trang không phải UTF-8 hiện được giải mã chính xác

Nếu bạn đang thu thập dữ liệu các trang tiếng Cyrillic, tiếng Trung, tiếng Nhật hoặc các trang không phải UTF-8 khác qua Single, phần body trước đây thường bị lỗi hiển thị (mojibake). Trước đây, chúng tôi đã ép buộc giải mã mọi response dưới dạng UTF-8 trước khi bạn nhận được các byte thô. Giờ đây, chúng tôi đọc charset từ response (Content-Type, sau đó đến <meta charset>, rồi cuối cùng là fallback về UTF-8) và giải mã chính xác. Cảm ơn Alexandar Kanchev (Sensika) đã báo cáo vấn đề này.

Đã sửa

Phát hiện proxy giả mạo phản hồi ngược lại request

Một số proxy ngoài thực tế không thực sự chuyển tiếp request của bạn. Chúng phản hồi ngược lại dưới dạng một bản dump máy chủ bằng plaintext và cố gắng thu thập dữ liệu bên trong. Hiện tại chúng tôi phát hiện ra pattern đó trước khi response chuyển đến code của bạn, vì vậy Single, Browser và Proxy Finder đều trả về một thông báo lỗi chính xác (hoặc thực hiện retry) thay vì dữ liệu rác.

Mới

Chạy lại bất kỳ dòng Activity nào trong Playground

Mỗi dòng Activity có payload được lưu trữ hiện đã có thể nhấp vào: hộp thoại sẽ hiển thị đầy đủ request và response (được định dạng đẹp mắt, đi kèm các nút sao chép và thông báo rõ ràng cho các request gặp lỗi trước khi tạo ra body). Nhấp vào 'Open in Playground' để tải lại chính xác call đó vào form cùng với response đã lưu trữ được render sẵn, nhờ đó bạn có thể tinh chỉnh các tham số và chạy lại mà không cần thiết lập lại từ đầu. Các payload được lưu trữ sẽ được giữ lại trong 24 giờ, giới hạn 200 payload gần nhất cho mỗi key.

Cải tiến

Mọi response API đều đi kèm một request ID

Các call đã xác thực giờ đây sẽ trả về cùng với một header X-Foura-Request-Id. Hãy lưu nó vào log của riêng bạn và bạn có thể đối chiếu bất kỳ request nào với dòng tương ứng của nó trong Activity, hoặc gửi nó cho bộ phận support để chúng tôi có thể tra cứu chính xác những gì đã xảy ra phía chúng tôi.

Cải tiến

Hủy các request playground đang xử lý

Nhấp vào nút Cancel mới khi một request playground đang tải và chúng tôi sẽ hủy bỏ request đó một cách gọn gàng. Panel sẽ lập tức quay trở lại trạng thái chờ với ghi chú 'Request canceled' thay vì một lỗi mạng đáng sợ.

Mới

Hiển thị API key sau khi tạo

Các key bạn tạo từ hôm nay có thể được hiển thị bất kỳ lúc nào, cả trên trang API Keys và bên trong curl reproducer của playground. Nhấp vào biểu tượng con mắt, xác nhận, và toàn bộ key sẽ hiển thị trong 15 giây trước khi tự động ẩn đi (mọi lượt hiển thị đều được ghi nhật ký kiểm tra). Các key cũ hơn vẫn chỉ hiển thị một lần; hãy tạo lại bất kỳ key cũ nào để có thể hiển thị được.

Cải tiến

Proxy Finder kiểm tra lại pool nhanh hơn

Hàng đợi kiểm tra lại hiện được xử lý xong trong vài ngày thay vì vài tuần. Chúng tôi đã giảm thời gian chọn mỗi proxy để kiểm tra từ khoảng 2 giây xuống còn khoảng 10 ms, nhờ đó pool luôn mới hơn khi chịu tải. Ít IP chết hơn trong vòng xoay, và mọi cuộc gọi Single cũng như Proxy Finder đều hoạt động trên một tập hợp khỏe mạnh hơn.

Cải tiến

Pool proxy làm mới nhanh hơn

Sau khi gỡ bỏ giới hạn cho mỗi lần chạy của ngày hôm qua, quá trình làm mới liên tục bị đình trệ mỗi khi một khối proxy lớn chiếm toàn bộ hàng đợi. Hiện tại chúng tôi phân bổ mọi batch qua các subnet riêng biệt, để mỗi lần chạy sử dụng toàn bộ ngân sách concurrency. Pool Proxy Finder xoay vòng nhanh hơn gấp 5-10 lần và các entry cũ được dọn sạch chỉ trong vài giờ.

Đã sửa

Các proxy mới được phát hiện tham gia pool nhanh hơn

Chúng tôi đã khắc phục tình trạng chậm trễ khiến các proxy mới được phát hiện phải chờ đợi trước khi được xác thực. Proxy Finder hiện kiểm tra chúng ngay lập tức, giúp pool luôn mới hơn với nhiều proxy đang hoạt động hơn trong vòng luân phiên.

Cải tiến

Playground hiện đã hoạt động trên điện thoại

Dưới 768px, hàng URL tự động chuyển thành hai hàng, các tab response cuộn theo chiều ngang, và bảng cookie chuyển thành dạng lưới thẻ. Các tooltip gợi ý sẽ mở khi chạm thay vì di chuột; iPhone SE (dưới 374px) được thu nhỏ thêm. Nút Send được căn giữa chuẩn xác và URL dài không còn làm trang bị cuộn ngang.

Cải tiến

Tính năng mở rộng Playground giờ là lớp phủ toàn màn hình thực sự

Trước đây, tính năng mở rộng sẽ kéo giãn thẻ response bên trong luồng trang, vì vậy các pane cao sẽ tạo ra cuộn trang body và làm thay đổi layout. Giờ đây, nó là một lớp phủ cố định giữa sidebar và cạnh viewport, với các pane tự động giãn rộng để lấp đầy viewport. Phím Escape dùng để đóng; một helper duy nhất sẽ xử lý các luồng click và phím.

Đã sửa

Cookie Playground tuân thủ quy tắc host-only của RFC 6265

Các cookie host-only đã bị rò rỉ sang các subdomain. Hiện tại chúng tôi đã theo dõi thuộc tính Domain một cách chính xác và thêm nhãn HO trong chế độ xem Parsed cho trường hợp host-only (ít gặp). Chế độ xem Raw khớp với những gì upstream gửi: Domain=.example.com đối với cookie domain, không có dòng Domain= đối với host-only.