Yapılandırma (JSON)

URL

URL Oluşturucu nedir?

URL’nin parçalarını — protokol, host, yol, sorgu parametreleri, hash — tanımlayan bir JSON nesnesi verirsiniz, araç size birleştirilmiş URL’yi düzgün şekilde percent-encode edilmiş olarak döndürür. Arka planda tarayıcının yerel URL API’sini kullanır, dolayısıyla çıktı, URL’yi JavaScript’te kendiniz kursaydınız tarayıcının üreteceği şeyle birebir aynı olur.

Bu aracın var olma sebebi: URL’yi elle inşa etmek hataların saklandığı yerdir. Müşteri adındaki boşluğu kodlamayı unutursunuz, zaten kodlanmış bir slash’ı iki kez kodlarsınız, ? ile &’i karıştırırsınız, %20 yerine + kullandığınız için bir değer kaybolur. WHATWG URL spesifikasyonu her girdi için tek bir doğru cevabı tanımlar ve burada elde ettiğiniz tam olarak bu. Tekrarlanan sorgu anahtarları (örneğin tag=red&tag=blue) bir dizi vererek desteklenir — URLSearchParams’ın kabul ettiği biçimle aynı.

Tamamen tarayıcınızda çalışır. JSON yapılandırması ve birleştirilmiş URL makinenizden hiç çıkmaz. Kodlama kuralları doğrudan RFC 3986’dan ve onun üzerine eklenen WHATWG iyileştirmelerinden gelir. URL’yi yapılandırılmış bir form üzerinden gidip-gelirken URL Parser ile birlikte kullanın.

URL Oluşturucu nasıl kullanılır

Üç adım. Her biri bu sayfadaki bir butona karşılık geliyor.

1

JSON yapılandırması yapıştırın

Sol tarafa URL parçalarını tanımlayan bir JSON nesnesi yapıştırın. protocol ve host zorunlu; gerisi isteğe bağlı. Birden fazla sorgu parametresi ve hash içeren gerçekçi bir örneği yüklemek için Örnek’e basın:

{
  "protocol": "https",
  "host": "api.shop.example.com",
  "pathname": "/v1/orders",
  "searchParams": {
    "customer": "Ava Chen",
    "status": "active",
    "total[gte]": "49.99",
    "page": "2"
  },
  "hash": "summary"
}

İsteğe bağlı alanlar: port, username, password, hash. searchParams içinde, bir string tek bir değerdir; bir dizi tekrarlanan anahtarlardır.

2

Birleştirilmiş URL’yi okuyun

Sağ panel birleştirilmiş URL string’ini gösterir. Sorgu string’inde boşluklar + olur, köşeli parantezler %5B/%5D olur, yol normalize edilir — URL standardının tanımladığı kodlamanın aynısı. Yazdıkça günceller.

3

Kopyalayın veya indirin

URL’yi panoya göndermek için Kopyala, metin dosyası olarak kaydetmek için İndir’e tıklayın. Sıfırdan başlamak için girdi panelinde Temizle’yi kullanın.

Bunu gerçekten ne zaman kullanırsınız

HTTP istemcisi için test fixture’ları hazırlamak

Sekiz sorgu parametresi olan, ikisi boşluk içeren ve biri tekrarlanan bir /v1/orders testi yazıyorsunuz. Kodlanmış URL’yi teste elle yazmak hata kaynağıdır. Gerçek bir istek log’undan kopyalayabileceğiniz bir JSON nesnesinden URL’yi inşa edin, sonucu assertion’a yapıştırın. Bitti.

OAuth authorize URL’leri inşa etmek

OAuth authorize URL’leri sorgu string’ine client_id, redirect_uri, scope, state, response_type ve code_challenge’i sıkıştırır. RFC 6749 tam olarak bu parametre adlarını ve URL bütünüyle tekrar kodlanmadan önce zaten bir kez kodlanmış bir redirect_uri ister. Oluşturucu bunu şeffaf biçimde halleder — siz ham değerleri verirsiniz, doğrusunu o yapar.

Bir scriptte analytics veya paylaşım URL’si üretmek

UTM parametreleriyle bir kampanya URL’si üretiyorsanız, değerler genellikle utm_campaign’in boşluk, ve işareti ve ara sıra emoji içerdiği bir tablodan gelir. Kodlamayı URL constructor’ına bırakmak, string template’den daha güvenlidir. Çıktı, Node’un URL modülünün üreteceğiyle aynıdır.

Müşteri destek bildiriminden bir bug’ı tekrar üretmek

Bir müşteri q=résumé writer ile yapılan aramanın API’de 500 verdiğini bildiriyor. Aynı isteği aynen tekrar üretmek istiyorsunuz. URL’yi JSON’dan inşa edin, sonra curl ile gönderin. e üzerindeki aksan ve boşluk, tarayıcının göndereceği şekilde kodlanır — tahmin yok.

Sık sorulan sorular

URL Oluşturucu ile string’leri kendim birleştirmem arasındaki fark nedir?

Kodlama. https://api.example.com/orders?customer=Ava Chen geçerli bir URL değildir — boşluk onu bozar. Oluşturucu içeride URLSearchParams kullanır; bu boşluğu sorguda +, yolda %20 olarak kodlar. Elle string birleştirme er ya da geç bunlardan birinde hata yapar.

Bir sorgu parametresini iki kez nasıl gönderirim (örneğin ?tag=red&tag=blue)?

Değer olarak bir dizi kullanın: "tag": ["red", "blue"]. Oluşturucu, verdiğiniz sırayla tag=red&tag=blue üretir. URLSearchParams spesifikasyonuna uygundur.

Protokolden sonra iki noktayı (https:) eklemem gerekir mi yoksa sadece https mi?

İkisi de çalışır. Oluşturucu hem "protocol": "https"’i hem de "protocol": "https:"’i https:’e normalize eder. http, ftp, mailto ve özel şemalar için de aynı.

URL’ye kimlik bilgisi (kullanıcı adı/parola) koyabilir miyim?

Evet — yapılandırmaya "username" ve "password" ekleyin. Host’tan önce user:pass@host şeklinde görünürler. Ancak şuna dikkat: RFC 3986 §3.2.1, üretim URL’lerinde bunu kullanmaya karşı uyarır çünkü tarayıcı geçmişine, sunucu log’larına ve proxy önbelleklerine yansırlar.

Boşluk neden %20 yerine + oluyor?

Sorgu bileşenindeki boşluklar genellikle application/x-www-form-urlencoded kurallarına göre + olarak kodlanır — URLSearchParams’ın ürettiği şey budur. Yoldaki boşluklar %20 olarak kodlanır. Her ikisi de geçerlidir; sunucular her iki biçimi de çözer. Sunucunuz bozuksa ve sadece %20’yi anlıyorsa, bu araçtan daha büyük bir sorununuz var demektir.

Girdi JSON’unun kendisi hangi formatta olmalı?

Standart JSON — spesifikasyon için json.org veya ECMA-404’e bakın. Anahtarlar string, değerler string ya da (searchParams için) string dizisi olur. Yorum yok. Sondaki virgül kabul edilmez.

Diğer URL & JSON araçları

İnşa etmek bir yön. İşte doğal eşleşenler: