URL-Parsing gemäß RFC 3986 in alle Komponenten: Scheme (http, https, ftp etc.), Benutzername, Passwort, Hostname, Port, Pfad, Query-String und Fragment. Prozent-Kodierung (Encode) und -Dekodierung (Decode) für URL-sichere Zeichenübertragung, URL-Validierung, Query-Parameter-Zugriff (GetQueryParam, HasQueryParam) und URL-Zusammenbau (Build).
Einsatzbereiche: HTTP/HTTPS-Clients, Web-Scraping, API-Gateway-Implementierungen, SEO-Analyse (URL-Struktur, Canonical-URLs, Redirects), OAuth-Callback-Verarbeitung.
Autor: Andreas Röne
Copyright: 2024-2025 Andreas Röne
| Feld | Typ |
|---|---|
scheme | pchar |
username | pchar |
password | pchar |
hostname | pchar |
port | int64 |
path | pchar |
query | pchar |
fragment | pchar |
| Name | Typ | Wert | Sichtbarkeit |
|---|---|---|---|
DEFAULT_HTTP_PORT | int64 | 80 | pub |
DEFAULT_HTTPS_PORT | int64 | 443 | pub |
| Signatur | Sichtbarkeit | Beschreibung |
|---|---|---|
Parse(url_str: pchar, result: pchar): int64 | pub | Zerlegt URL in alle Komponenten |
GetScheme(url: pchar): pchar | pub | Gibt URL-Schema zurück |
GetHostname(url: pchar): pchar | pub | Gibt Hostname zurück |
GetPort(url: pchar): int64 | pub | Gibt Port-Nummer zurück |
GetPath(url: pchar): pchar | pub | Gibt URL-Pfad zurück |
GetQuery(url: pchar): pchar | pub | Gibt Query-String zurück |
GetFragment(url: pchar): pchar | pub | Gibt Fragment-Bezeichner zurück |
GetUsername(url: pchar): pchar | pub | Gibt Benutzernamen zurück |
GetPassword(url: pchar): pchar | pub | Gibt Passwort zurück |
Build( | pub | Baut URL aus Komponenten zusammen |
IsValid(url: pchar): bool | pub | Prüft ob URL gültig ist |
IsValidScheme(scheme: pchar): bool | pub | Prüft ob Schema gültig ist |
IsValidHostname(hostname: pchar): bool | pub | Prüft ob Hostname gültig ist |
Encode(input: pchar, output: pchar): int64 | pub | Prozent-kodiert String URL-sicher |
Decode(input: pchar, output: pchar): int64 | pub | Dekodiert prozent-kodierten String |
Equals(url1: pchar, url2: pchar): bool | pub | Vergleicht zwei URLs auf Gleichheit |
GetQueryParam(query: pchar, name: pchar): pchar | pub | Liest Query-Parameter nach Name |
HasQueryParam(query: pchar, name: pchar): bool | pub | Prüft ob Query-Parameter vorhanden |
URLPercentEncode(s: pchar): pchar | pub | RFC-3986-Percent-Encoding; gibt heap-alloc'd String zurück |
URLPercentDecode(s: pchar): pchar | pub | Dekodiert Percent-Encoded String; gibt heap-alloc'd String zurück |
URLQueryGet(url: pchar, key: pchar): pchar | pub | Liest Query-Parameter direkt aus vollständiger URL (Fragment wird automatisch abgetrennt) |
URLQuerySet(url: pchar, key: pchar, value: pchar): pchar | pub | Fügt Parameter hinzu oder ersetzt vorhandenen; gibt neue heap-alloc'd URL zurück |
URLBuild(scheme: pchar, hostname: pchar, port: int64, path: pchar, query: pchar, fragment: pchar): pchar | pub |