Inhaltsverzeichnis

std.url

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


Imports


Typen

URL (struct)

Feld Typ
scheme pchar
username pchar
password pchar
hostname pchar
port int64
path pchar
query pchar
fragment pchar

Konstanten

Name Typ Wert Sichtbarkeit
DEFAULT_HTTP_PORT int64 80 pub
DEFAULT_HTTPS_PORT int64 443 pub

Funktionen

Signatur Sichtbarkeit Beschreibung
FindStr(haystack: pchar, needle: pchar): int64 priv Sucht Teilstring intern
CopyStr(dest: pchar, src: pchar, max_len: int64): int64 priv Kopiert String mit Längenbegrenzung
FindChar(s: pchar, c: int64): int64 priv Sucht Zeichen in String intern
findSchemeEnd(url: pchar): int64 priv Findet Ende des URL-Schemas
findAt(url: pchar, start: int64): int64 priv Findet @-Trennzeichen in URL
findHostEnd(url: pchar, start: int64): int64 priv Findet Ende des Hostname-Teils
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
urlEncodeChar(c: int64): int64 priv Kodiert einzelnes Zeichen URL-sicher
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
findQueryParamValue(query: pchar, name: pchar, name_len: int64): int64 priv Findet Query-Parameter-Wert intern
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