0
0
Lập trình
Admin Team
Admin Teamtechmely

Các Chức Năng Quan Trọng Trong Lớp CdpHTTPResponse

Đăng vào 3 tuần trước

• 2 phút đọc

Chủ đề:

puppeteer

Giới Thiệu

Lớp HTTPResponse cung cấp nhiều chức năng hữu ích để truy cập thông tin về phản hồi HTTP. Bài viết này sẽ giới thiệu những chức năng chính có trong lớp HTTPResponse, giúp bạn hiểu rõ hơn về cách xử lý phản hồi HTTP trong ứng dụng của mình.

Các Chức Năng Chính Trong Lớp HTTPResponse

  1. url(): Trả về URL của phản hồi.
  2. status(): Trả về mã trạng thái của phản hồi (ví dụ: 200, 404).
  3. statusText(): Trả về văn bản trạng thái tương ứng với mã trạng thái (ví dụ: OK, Not Found).
  4. ok(): Trả về true nếu mã trạng thái nằm trong khoảng 200-299.
  5. headers(): Trả về một đối tượng chứa tất cả các tiêu đề phản hồi.
  6. securityDetails(): Trả về một đối tượng với thông tin bảo mật (ví dụ: thông tin chứng chỉ SSL) nếu có.
  7. buffer(): Trả về một Promise giải quyết thành nội dung phản hồi dưới dạng Buffer.
  8. text(): Trả về một Promise giải quyết thành nội dung phản hồi dưới dạng chuỗi.
  9. json(): Trả về một Promise giải quyết thành nội dung phản hồi được phân tích cú pháp thành JSON.
  10. request(): Trả về đối tượng HTTPRequest đã được gửi để nhận phản hồi này.
  11. fromCache(): Trả về true nếu phản hồi được phục vụ từ bộ nhớ cache của trình duyệt.
  12. fromServiceWorker(): Trả về true nếu phản hồi được phục vụ bởi một service worker.

Ví Dụ Minh Họa

Dưới đây là một ví dụ minh họa cách bắt và ghi lại các phản hồi HTTP bằng Puppeteer:

javascript Copy
const puppeteer = require('puppeteer');
(async () => {
  const browser = await puppeteer.launch({ headless: false });
  const page = await browser.newPage();

  // Bắt và ghi lại các phản hồi HTTP
  page.on('response', async (response) => {
    const url = response.url();
    const status = response.status();
    const statusText = response.statusText();
    const headers = response.headers();
    const responseBody = await response.text();

    console.log(`URL Phản Hồi: ${url}`);
    console.log(`Trạng Thái: ${status} ${statusText}`);
    console.log(`Tiêu Đề:`, headers);
    console.log(`Nội Dung Phản Hồi:`, responseBody);
  });

  // Điều hướng đến trang mục tiêu
  await page.goto('https://example.com', { waitUntil: 'networkidle2' });

  // Tiếp tục với các tương tác khác của Puppeteer
  await page.waitForTimeout(10000); // Thay đổi thời gian tùy theo nhu cầu

  // Đóng trình duyệt khi hoàn tất
  await browser.close();
})();

Giải Thích

  • Bắt Phản Hồi: Sự kiện page.on('response', ...) giúp bắt tất cả các phản hồi HTTP.
  • Ghi Chép Thông Tin: Đối với mỗi phản hồi, script ghi lại URL, trạng thái, văn bản trạng thái, tiêu đề và nội dung phản hồi.
  • Chức Năng Hữu Dụng: Script sử dụng các hàm như url(), status(), statusText(), headers(), và text() từ lớp HTTPResponse để truy xuất và ghi lại các chi tiết này.

Lưu Ý: Hãy cẩn thận với các nội dung phản hồi lớn để tránh tiêu tốn quá nhiều bộ nhớ. Sử dụng xử lý lỗi và ghi nhật ký phù hợp cho mục đích sản xuất. Bằng cách tận dụng các chức năng của lớp HTTPResponse, bạn có thể hiệu quả trong việc bắt và xử lý các phản hồi HTTP trong Puppeteer.
source: viblo

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào