URL'ler ve Sorgu Dizesi
URL’ler ve Sorgu Dizesi
URL katmanı, WHATWG tarzı ayrıştırmayı uygular — tarayıcıların uyguladığı aynı davranış — böylece belgelerden çıkarılan URL’ler gerçek bir kullanıcı aracısında olduğu gibi çözülür ve normalleştirilir.
Ayrıştırma ve Doğrulama
URL.parse() mutlak veya göreceli bir URL’i ayrıştırır; URL.can_parse() bir nesne oluşturmadan geçerliliği yanıtlar. Ayrıştırma hataları, tiplenmiş URLParseError‘yi yükseltir.
Sorgu Dizesi
URLSearchParams sorgu parametrelerini okur ve düzenler: append(), get(), get_all(), has() ve delete() dönüşümün tamamını kapsar, çoklu değer semantiğini korur.
İpuçları ve En İyi Uygulamalar
- Filtrelerde ucuz doğrulama için
can_parse()kullanın; bileşenlere ihtiyacınız olduğunda yalnızcaparse()ile oluşturun. - Sorgu anahtarlarının tekrarlanabileceğini unutmayın — bir parametre birden fazla kez görünebileceğinde
get_all()kullanın. - Düzenli ifadelerle ön doğrulama yapmak yerine
URLParseError‘ı yakalayın.
Yaygın Sorunlar
| Sorun | Neden | Düzeltme |
|---|---|---|
| Göreceli URL ayrıştırılamıyor | Temel sağlanmadı | URL.parse() göre temeli sağlayın |
| Yalnızca ilk sorgu değeri döndürüldü | Tekrarlanan bir anahtar üzerinde get() kullanıldı | Kullan get_all() |
| Bileşenlerde tuhaf karakterler | WHATWG normalizasyonu çalışıyor | Beklenen — bu, tarayıcı davranışıyla eşleşir |
FAQ
Ayrıştırma WHATWG standardını takip ediyor mu?
Evet — normalleştirme ve bileşen bölme, tarayıcı davranışını yansıtır.
Bir URL’yi ayrıştırmadan nasıl kontrol edebilirim?
URL.can_parse() nesne oluşturulmadan geçerliliği döndürür.
Sorgu dizesini yerinde düzenleyebilir miyim?
Evet — URLSearchParams ekleme/alma/var-olma/silme round-trip’lerini destekler.
API Reference Özeti
| Sınıf/Yöntem | Açıklama |
|---|---|
URL.parse | Bir URL’yi ayrıştır |
URL.can_parse | Yapı olmadan geçerlilik kontrolü |
URLSearchParams.append | Bir sorgu parametresi ekle |
URLSearchParams.get_all | Bir anahtarın tüm değerleri |
URLParseError | Tipli ayrıştırma hatası |