URL và Chuỗi Truy vấn

URL và chuỗi truy vấn

Lớp URL thực hiện việc phân tích kiểu WHATWG — cùng hành vi mà các trình duyệt áp dụng — vì vậy các URL được trích xuất từ tài liệu sẽ được giải quyết và chuẩn hoá như trong một tác nhân người dùng thực tế.


Phân tích và xác thực

URL.parse() phân tích một URL tuyệt đối hoặc tương đối; URL.can_parse() trả lời tính hợp lệ mà không tạo đối tượng. Các lỗi phân tích sẽ ném ra URLParseError đã được định kiểu.

Chuỗi truy vấn

URLSearchParams đọc và chỉnh sửa các tham số truy vấn: append(), get(), get_all(), has(), và delete() bao quát vòng quay, bảo toàn ngữ nghĩa đa giá trị.


Mẹo và Thực hành Tốt nhất

  • Sử dụng can_parse() để kiểm tra nhanh trong bộ lọc; chỉ tạo bằng parse() khi bạn cần các thành phần
  • Hãy nhớ các khóa truy vấn có thể lặp lại — sử dụng get_all() khi một tham số có thể xuất hiện nhiều hơn một lần
  • Bắt URLParseError thay vì kiểm tra trước bằng biểu thức chính quy

Các vấn đề thường gặp

Vấn đềNguyên nhânKhắc phục
URL tương đối không thể phân tích cú phápKhông có cơ sở được cung cấpCung cấp cơ sở theo URL.parse()
Chỉ giá trị truy vấn đầu tiên được trả vềĐã sử dụng get() trên một khóa lặp lạiSử dụng get_all()
Các ký tự lẻ trong các thành phầnChuẩn hoá WHATWG đang hoạt độngDự kiến — điều này phù hợp với hành vi của trình duyệt

FAQ

Việc phân tích cú pháp có tuân theo tiêu chuẩn WHATWG không?

Có — việc chuẩn hoá và tách thành phần phản ánh hành vi của trình duyệt.

Làm thế nào để kiểm tra một URL mà không phân tích cú pháp nó?

URL.can_parse() trả về tính hợp lệ mà không cần tạo đối tượng.

Tôi có thể chỉnh sửa chuỗi truy vấn tại chỗ không?

Có — URLSearchParams hỗ trợ các vòng quay append/get/has/delete.


API Reference Tóm tắt

Lớp/Phương thứcMô tả
URL.parsePhân tích URL
URL.can_parseKiểm tra tính hợp lệ mà không xây dựng
URLSearchParams.appendThêm một tham số truy vấn
URLSearchParams.get_allTất cả các giá trị cho một khóa
URLParseErrorLỗi phân tích kiểu

Xem thêm

 Tiếng Việt