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ằngparse()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
URLParseErrorthay 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ân | Khắc phục |
|---|---|---|
| URL tương đối không thể phân tích cú pháp | Không có cơ sở được cung cấp | Cung 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ại | Sử dụng get_all() |
| Các ký tự lẻ trong các thành phần | Chuẩn hoá WHATWG đang hoạt động | Dự 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ức | Mô tả |
|---|---|
URL.parse | Phân tích URL |
URL.can_parse | Kiểm tra tính hợp lệ mà không xây dựng |
URLSearchParams.append | Thêm một tham số truy vấn |
URLSearchParams.get_all | Tất cả các giá trị cho một khóa |
URLParseError | Lỗi phân tích kiểu |