URL Düzeltici
Bozuk URL’leri çevrimiçi onarın — akıllı tırnaklar, eksik https, çift slaşlar, karışık kodlama, Word veya Slack’ten yapıştırılmış satır sonları.
URL Düzeltici nedir?
Bir bağlantıyı bir e-postadan, bir Word belgesinden, bir Slack mesajından veya bir Confluence sayfasından kopyaladınız — ve şimdi etrafında kıvrık tırnaklar var (" yerine "), tire olması gereken yerde uzun tire (–) var, başında https:// yok ya da birinin yanlış zamanda Enter’a basmasıyla URL’yi ikiye ayıran kayıp bir satır sonu var. Buraya yapıştırın, çalışan bir URL alın. URL Düzeltici, kopyala-yapıştırın geride bıraktığı sözdizimsel hasarı, WHATWG URL Standardı ve RFC 3986 kurallarına uyarak temizler.
Düzeltici, bir regex’in sonsuza kadar özel durum olarak ele almak zorunda kalacağı şeyleri halleder: akıllı tırnaklar, akıllı tireler, yolda kazara oluşmuş çift slaşlar, karışık veya çift percent-encoding (yani açıkça çift kodlama olduğunda %2520 tekrar %20 olur), kodlanmamış boşluklar ve birinin yanlış anda Enter’a basmasıyla URL’nin içine düşmüş CR/LF/tab karakterleri. Yeni bir ana makine adı uydurmaz, sorgu parametrelerinizi değiştirmez, orada olmayan bir yol parçasını eklemez. Çıktı sonrasında tarayıcının URL API kurallarına göre doğrulanır, böylece karşı tarafta gerçekten ayrıştırılacağını bilirsiniz. Uluslararasılaştırılmış ana makine adları (Unicode, IDN), RFC 3987’ye göre korunur.
URL’niz düzeltmenin çalışabilmesi için backend’e gider ve hemen geri döner. Girdiyi kaydetmiyoruz — URL’ler genelde oturum belirteçleri, müşteri kimlikleri veya bir log dosyasında oturmasını istemediğiniz başka şeyler taşır. URL’niz gerçek bir sır içeriyorsa (imzalı bir S3 bağlantısı, tek kullanımlık bir kimlik doğrulama belirteci), buraya da dahil olmak üzere herhangi bir yere yapıştırdıktan sonra rotasyona alın.
URL Düzeltici nasıl kullanılır
Üç adım. Her biri bu sayfadaki bir butona karşılık geliyor — gizli bir şey yok.
Bozuk URL’yi yapıştırın veya örneği yükleyin
Bozuk URL’nizi soldaki editöre bırakın. Örnek URL’ye tıklayarak kıvrık tırnaklar, uzun tire, eksik şema ve kodlanmamış boşlukla bilerek bozulmuş bir örnek yükleyin — bir e-postadan gerçekten yapıştırdığınız türden bir şey. Bozuk URL örneği:
"shop.example.com/orders/ORD–1001?customer=Ava Chen"Word’den gelen kıvrık tırnaklar URL’nin etrafında, yol parçasının içinde uzun tire, şema yok, sorgu değerinde gerçek bir boşluk. Kısa bir satırda dört ayrı sorun.
URL’yi Düzelt!!’e tıklayın
Yeşil URL’yi Düzelt!! butonuna basın. Düzeltici, etraftaki tırnakları söker, uzun tireyi tireyle değiştirir, başına https:// ekler ve boşluğu percent-encode eder; sonuç RFC 3986’ya uyumlu olur.
Düzeltilmiş URL’yi kopyalayın
Sağ panel temizlenmiş URL’yi gösterir. Bir göz atın, kopyalayın, tarayıcınıza, fetch() çağrınıza, README’nize veya başarısız olan teste yapıştırın. URL’yi parçalarına ayrılmış görmek isterseniz sıradaki adım olarak URL Parser’a gönderin.
Bunu gerçekten ne zaman kullanırsınız
E-posta veya Word’den yapıştırılmış bağlantılar
Outlook ve Word, sessizce düz tırnakları kıvrık tırnaklara, tireleri uzun tirelere çevirir. URL mesajda iyi görünür ve onu bir terminale yapıştırdığınız anda bozulur. Düzeltici bu "akıllı" otomatik düzeltmeyi geri alır, böylece bağlantı yeniden çalışır.
Bir logger tarafından tırnaklarla sarılmış URL’ler
JSON formatlı uygulama logları, URL’leri "https://api.example.com/v1/orders?id=ORD-1001" gibi yazmayı sever. Hızlı bir curl için kapıp aldığınızda, etraftaki tırnaklar da gelir. Düzeltici bunları atar, böylece kabuğunuzun neden kapanmamış bir tırnaktan şikâyet ettiğini düşünmeyi bırakırsınız.
Slack veya Jira’nın URL’nin ortasına bıraktığı satır sonları
Slack, Jira veya Confluence’taki uzun URL’ler genelde alta sarar ve kopyalandığında bir \n takılır. Yol doğru görünür ama fetch() URL’yi ayrıştırma hatasıyla reddeder. Düzeltici satır sonlarını düzleştirir; URL yeniden tek parça bir dize olur.
Çift kodlanmış sorgu dizeleri
Bir URL ikisi de percent-encoding yapan iki sistemden geçtiğinde, %20 olması gereken yerde %2520 ile karşılaşırsınız. Düzeltici, bariz çift kodlamaları tek katmana indirir — yönlendirme zincirlerini veya webhook yüklerini hata ayıklarken işe yarar.
Sık sorulan sorular
URL’im saklanıyor mu veya görmediğim bir yere mi gidiyor?
URL’niz, düzeltmenin çalışabilmesi için backend’imize gider ve hemen geri döner. Girdinin kendisini kaydetmiyoruz — URL’ler sıklıkla yol/sorgu içinde oturum belirteçleri veya kişisel veri taşır. Bir düzeltmenin gerçekleştiğini kaydederiz, ne düzeltildiğini değil. URL gerçek bir sır içeriyorsa (imzalı bir bağlantı, kimlik doğrulama belirteci), bunu bu da dahil olmak üzere herhangi bir üçüncü taraf araca yapıştırdığınız andan itibaren ifşa olmuş kabul edin ve rotasyona alın.
Hangi URL hatalarını gerçekten düzeltir?
Günlük olanları: eksik şema (varsayılan https://), URL’nin etrafına dolanmış kıvrık/akıllı tırnaklar, tire olması gereken yerde uzun tire ya da kısa-uzun tire, yolda kazara //, çift percent-encoding (açıkça çift kodlamaysa %2520 → %20), sorgu değerlerindeki kodlanmamış boşluklar, bir kelime işlemcinin URL’ye düşürdüğü tab/CR/LF karakterleri ve Markdown bağlantılarından gelen <https://example.com> gibi etrafı saran köşeli ayraçlar.
Yol, sorgu veya parça değerlerimi değiştirir mi?
Hayır. Düzeltici bilinçli olarak temkinlidir. Bir ana makine uydurmaz, eksik bir TLD’yi tahmin etmez, yol parçaları eklemez veya çıkarmaz, sorgu parametresi eklemez veya çıkarmaz, parametre sırasını değiştirmez ve parçayı atmaz. Yalnızca sözdizimsel olarak yanlış olan karakterlere dokunur. customer=Ava Chen girerse, customer=Ava%20Chen çıkar — aynı değer, sadece RFC 3986’ya uygun şekilde kodlanmış.
Uluslararası (Unicode) alan adlarını destekliyor mu?
Evet. Ana makine veya yoldaki Unicode karakterler, Uluslararasılaştırılmış Kaynak Tanımlayıcıları (IRI biçimi) olarak korunur. Uygulamanız ana makine için punycode (ASCII) biçimine ihtiyaç duyuyorsa, temizlenmiş URL’yi dilinizin URL kütüphanesinden geçirin — Node’un url modülü, Python’un idna paketi veya tarayıcının yerleşik URL yapıcısı her iki biçimi de verir.
Gerçekten uzun URL’ler için ne olur?
Girdide 64 KB sınırı var — yaklaşık 64.000 karakter. Gerçek URL’ler neredeyse her zaman 2.000 karakterin altındadır; sizinki daha büyükse, genellikle bir şey çift kodlanıp dev bir bloba dönüşmüştür ya da sorgu dizesinde aslında POST gövdesinde olması gereken bir ikili veri vardır. Düzeltici, girdinin çok büyük olduğunu söyler; önce kısaltın veya yeniden yapılandırın.
Düzeltilmiş URL yerine hata döndürdü. Şimdi ne olacak?
Bazı girdiler artık kurtarılamaz — örneğin ana makinenin tamamen eksik olduğu veya yapısının modelin ne kastedildiğini söyleyemeyeceği kadar bozulduğu URL’ler. Bu durumda URL’ye bakın, bariz sorunları elle düzeltin (genelde suçlu ana makine ve şemadır) ve yeniden çalıştırın. Sonucu URL Validator’a bırakarak URL ayrıştırıcısının tam olarak neden şikâyet ettiğini görebilirsiniz.
İhtiyacınız olabilecek diğer URL araçları
URL’yi düzeltmek bir adım. Temiz şekilde ayrıştırılmaya başladığında, gerisini bu araçlar tamamlar: