URL-Parser

Wenn ein Webhook fehlschlägt oder ein Tracking-Link die falschen Parameter mitführt, zerlegen Sie die URL am schnellsten und lesen jeden Teil einzeln. Fügen Sie eine beliebige URL ein, und dieser Parser teilt sie in ihre Bestandteile auf: Schema, Benutzername und Passwort, Host, Port, Pfad, Abfragezeichenfolge und Fragment, und entfaltet die Abfrage in einer Tabelle aus Schlüssel-Wert-Paaren. Er läuft auf unserem Server mit dem Standard-URL-Parser von PHP, sodass Sie genau sehen, wie ein PHP-Backend denselben Link lesen würde.

So parsen Sie eine URL

  1. 1

    Fügen Sie die URL ein

    Geben Sie eine beliebige URL ein, ob absolut oder relativ. Es gibt nichts zu klicken: Sie wird beim Tippen geparst.

  2. 2

    Lesen Sie die Komponenten

    Die Tabelle füllt sich mit dem Schema, Host, Port, Benutzer, Passwort, Pfad, der Abfrage und dem Fragment, die gefunden wurden. Leere Teile zeigen einen Bindestrich.

  3. 3

    Entfalten Sie die Abfrage

    Jedes `key=value`-Paar erscheint in einer eigenen Zeile, wobei Prozentkodierung und `+` in echte Zeichen dekodiert werden.

  4. 4

    Kopieren Sie die Parameter

    Die Kopieren-Schaltfläche übernimmt alle Abfrageparameter auf einmal als `key=value`-Zeilen, bereit zum Einfügen in einen API-Client.

Anatomie einer URL

Nehmen Sie diese URL: https://user:pass@api.example.com:8443/v1/users?page=2&sort=name#profile. Der Parser zerlegt sie in:

Komponente Wert
scheme https
user user
pass pass
host api.example.com
port 8443
path /v1/users
query page=2&sort=name
fragment profile

Anschließend wird die Abfragezeichenfolge in einer eigenen Tabelle entfaltet: page = 2 und sort = name.

Wie die Abfragezeichenfolge gelesen wird

  • Werte werden aus der Prozentkodierung dekodiert und + wird zu einem Leerzeichen, sodass q=hello%20world und q=hello+world beide als hello world gelesen werden.
  • Ein Paar wird an seinem ersten = getrennt, sodass token=a=b=c den Wert a=b=c behält.
  • Wiederholte Schlüssel behalten nur den letzten Wert: ?id=1&id=2 liefert id = 2. Um alle Werte zu behalten, verwenden Sie die Array-Syntax id[]=1&id[]=2, die als Liste angezeigt wird.
  • Schlüssel in eckigen Klammern wie filter[status]=open werden zu einer verschachtelten Struktur, die als JSON dargestellt wird.

Ports, Pfade und Fragmente

  • Der Port wird genau so angezeigt, wie er geschrieben ist. Es wird nichts hinzugefügt oder entfernt, sodass :443 als 443 erscheint und eine URL ohne Port die Zeile leer lässt.
  • Ein abschließender Schrägstrich verändert den Pfad: https://a.com hat einen leeren Pfad, während https://a.com/ den Pfad / hat.
  • Das Fragment (nach #) ist ein reiner Browserwert, der zu einem Anker springt oder einen clientseitigen Router steuert. Es erreicht niemals den Server, sodass alles, was ein Backend lesen muss, in die Abfragezeichenfolge gehört.
  • Der Host wird genau so zurückgegeben, wie er eingegeben wurde; dieser Parser wandelt internationalisierte (nicht-ASCII) Domains weder in Punycode um noch zurück.

Häufig gestellte Fragen

Ja. Ein relativer Link wie /v1/users?ref=nav hat kein Schema und keinen Host, daher bleiben diese Zeilen leer, während Pfad und Abfrage dennoch gefüllt werden. Nur eine fehlerhaft aufgebaute URL, zum Beispiel mit einem nicht-numerischen Port wie http://a.com:port, wird rundweg abgelehnt.

Nur der letzte Wert wird behalten, sodass ?id=1&id=2 das Ergebnis id = 2 liefert, genau so, wie ein PHP-Backend es lesen würde. Wenn Sie jeden Wert benötigen, verwenden Sie die Array-Syntax id[]=1&id[]=2, dann erscheinen sie als Liste.

Der Parser meldet den Port genau so, wie er geschrieben ist. Er entfernt niemals einen Standardport und ergänzt keinen fehlenden, sodass eine URL ohne Port eine leere Zeile zeigt und https://a.com:443 den Wert 443 anzeigt.

Die URL wird zum Parsen an unseren Server gesendet, da dieses Tool serverseitig läuft und nicht nur in Ihrem Browser. Wir speichern die URLs selbst nicht; wir erfassen lediglich anonym, dass der Parser verwendet wurde.

Verwandte Tools

Tool in anderen Sprachen verfügbar