#curl
43 Einzeiler mit diesem Stichwort.
Alle Einzeiler mit Tag curl
Aktuelle WordPress-Version über die API abfragen
$curl -s https://api.wordpress.org/core/version-check/1.7/ | jq -r '.offers[0].version'
Alle URLs aus einem Sitemap-Index sammeln
$curl -s https://example.com/sitemap_index.xml | grep -oP '(?<=<loc>)[^<]+' | xargs -n1 curl -s | grep -oP '(?<=<loc>)[^<]+' | sort -u
Alle URLs aus einer sitemap.xml extrahieren
$curl -s https://example.com/sitemap.xml | grep -oP '(?<=<loc>)[^<]+' | sort -u
Alle URLs einer sitemap.xml parallel auf Statuscode prüfen
$curl -s https://example.com/sitemap.xml | grep -oP '(?<=<loc>)[^<]+' | xargs -P 8 -I{} curl -o /dev/null -s -w '%{http_code} %{url_effective}\n' {} | grep -v '^200 ' | sort
Antwortzeit einer PHP-Seite mit einer statischen Datei vergleichen
$for u in https://example.com/ https://example.com/wp-includes/css/dist/block-library/style.min.css; do curl -o /dev/null -s -w "%{time_starttransfer}s TTFB $u\n" "$u"; done
Anzahl der Weiterleitungen und Endziel einer URL anzeigen
$curl -sL -o /dev/null -w 'Weiterleitungen: %{num_redirects}\nZiel: %{url_effective}\nStatus: %{http_code}\n' https://example.com/
Apache server-status in Kurzform abrufen
$curl -s "http://localhost/server-status?auto"
Bilder ohne alt-Attribut auf einer Seite finden
$curl -s https://example.com/ | tr '\n' ' ' | grep -oiE '<img[^>]*>' | grep -viE '\balt='
Bilder ohne loading-Attribut auf einer Seite finden
$curl -s https://example.com/ | tr '\n' ' ' | grep -oiE '<img[^>]*>' | grep -vi 'loading='
Browser-Caching-Header einer Datei prüfen
$curl -sI https://example.com/wp-includes/css/dist/block-library/style.min.css | grep -iE "^(cache-control|expires|etag|last-modified|age):"
Cache-Control aller CSS-, JS- und Bilddateien einer Seite prüfen
$curl -s https://example.com/ | grep -oE '(src|href)="[^"]+\.(css|js|woff2?|jpe?g|png|gif|webp|avif|svg)(\?[^"]*)?"' | cut -d'"' -f2 | sed -E 's#^//#https://#; s#^/#https://example.com/#' | grep '^http' | sort -u | while read -r a; do printf '%-45s %s\n' "$(curl -sI "$a" | grep -i '^cache-control:' | tr -d '\r')" "$a"; done
Canonical-Tag einer Seite per curl auslesen
$curl -s https://example.com/ | tr '\n' ' ' | grep -oiE '<link[^>]*canonical[^>]*>'
Ersparnis durch gzip und Brotli für eine URL messen
$for e in identity gzip br; do curl -s -o /dev/null -H "Accept-Encoding: $e" -w "$e: %{size_download} Bytes\n" https://example.com/; done
H1-Überschriften einer Seite auslesen
$curl -s https://example.com/ | tr '\n' ' ' | grep -oiP '<h1[^>]*>.*?</h1>' | sed -E 's/<[^>]+>//g; s/^\s+|\s+$//g'
hreflang-Tags einer Seite auslesen
$curl -s https://example.com/ | tr '\n' ' ' | grep -oiE '<link[^>]*hreflang[^>]*>'
HTML- und Headergröße einer Seite messen
$curl -s -o /dev/null -w 'Status: %{http_code} Header: %{size_header} Bytes HTML: %{size_download} Bytes\n' https://example.com/
HTTP-Statuscode und Antwortheader einer URL anzeigen
$curl -sSI https://example.com/
HTTP-Statuscodes für eine Liste von URLs prüfen
$while read -r u; do printf '%s %s\n' "$(curl -o /dev/null -sS -w '%{http_code}' "$u")" "$u"; done < urls.txt
http, https, www und ohne www auf einmal testen
$for u in http://example.com/ http://www.example.com/ https://example.com/ https://www.example.com/; do curl -s -o /dev/null -m 10 -w "%{http_code} $u -> %{redirect_url}\n" "$u"; done
HTTP/3-Unterstützung über den Alt-Svc-Header prüfen
$curl -sI https://example.com/ | grep -i '^alt-svc'
Interne Links einer Seite extrahieren und zählen
$curl -s https://example.com/ | tr '\n' ' ' | grep -oiE 'href="[^"]+"' | sed -E 's/^href="//I; s/"$//; s/#.*//' | grep -E '^(/|https?://(www\.)?example.com)' | sort | uniq -c | sort -rn
Ladezeit einer URL in Phasen aufschlüsseln
$curl -o /dev/null -sS -w 'DNS: %{time_namelookup}s Connect: %{time_connect}s TLS: %{time_appconnect}s TTFB: %{time_starttransfer}s Gesamt: %{time_total}s\n' https://example.com/
Meta robots und noindex im HTML einer Seite finden
$curl -s https://example.com/ | tr '\n' ' ' | grep -oiE '<meta[^>]*name=.?(robots|googlebot)[^>]*>'
Mixed Content im HTML einer HTTPS-Seite finden
$curl -s https://example.com/ | tr '\n' ' ' | grep -oiE '(src|srcset|data-src)="http://[^"]+"|<link[^>]+href="http://[^"]+"|url\(.?http://[^)]+\)' | sort -u
Öffentliche IP-Adresse des Servers ermitteln
$curl -4 -s https://icanhazip.com
Prüfen, ob der Server 304 Not Modified liefert
$curl -s -o /dev/null -w '%{http_code}\n' -H "If-Modified-Since: $(curl -sI https://example.com/ | grep -i '^last-modified:' | cut -d' ' -f2- | tr -d '\r')" https://example.com/
Prüfen, ob eine Website den HSTS-Header sendet
$curl -sI https://example.com/ | grep -i "^strict-transport-security"
Prüfen, ob eine Website gzip oder Brotli ausliefert
$curl -s -o /dev/null -D - -H "Accept-Encoding: br, gzip" https://example.com/ | grep -i "^content-encoding"
Prüfen, ob eine Website HTTP/2 unterstützt
$curl -sI --http2 https://example.com/ | head -1
Prüfen, ob LiteSpeed Cache eine Seite aus dem Cache liefert
$curl -s -o /dev/null -D - https://example.com/ | grep -iE "^(server|x-litespeed-cache[a-z-]*):"
robots.txt abrufen und Disallow-Regeln anzeigen
$curl -s https://example.com/robots.txt | grep -iE '^\s*(user-agent|disallow|allow|sitemap):'
Seite als Googlebot abrufen und mit normalem Abruf vergleichen
$for ua in 'Mozilla/5.0 (X11; Linux x86_64)' 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)'; do curl -s -o /dev/null -A "$ua" -w "%{http_code} %{size_download} Bytes $ua\n" https://example.com/; done
Skripte ohne async oder defer auf einer Seite finden
$curl -s https://example.com/ | tr '\n' ' ' | grep -oiE '<script[^>]*src=[^>]*>' | grep -viE 'async|defer|type=.?module'
Soft 404 prüfen: liefert eine nicht vorhandene Seite wirklich 404
$curl -s -o /dev/null -w '%{http_code} %{redirect_url}\n' https://example.com/diese-seite-gibt-es-nicht-$RANDOM
Strukturierte Daten (JSON-LD) einer Seite auslesen
$curl -s https://example.com/ | tr '\n' ' ' | grep -oP '<script[^>]*application/ld\+json[^>]*>.*?</script>'
Title und Meta Description einer Seite per curl auslesen
$curl -s https://example.com/ | tr '\n' ' ' | grep -oiE '<title[^>]*>[^<]*</title>|<meta[^>]*name=.?description[^>]*>'
TTFB mehrfach messen mit Minimum, Median und Maximum
$for i in $(seq 10); do curl -o /dev/null -s -w '%{time_starttransfer}\n' https://example.com/; done | LC_ALL=C sort -n | awk '{a[NR]=$1; s+=$1} END {printf "Min: %.3fs Median: %.3fs Max: %.3fs Schnitt: %.3fs\n", a[1], a[int((NR+1)/2)], a[NR], s/NR}'
Wartungsmodus auf Status 503 und Retry-After prüfen
$curl -s -o /dev/null -D - https://example.com/ | grep -iE '^(HTTP/|retry-after:)'
Webserver und PHP-Version im HTTP-Header erkennen
$curl -sI https://example.com/ | grep -iE "^(server|x-powered-by|via):"
Website auf neuem Server vor der DNS-Umstellung testen
$curl -sSI --resolve example.com:443:203.0.113.10 https://example.com/
Weiterleitungskette einer URL mit Statuscodes anzeigen
$curl -sIL "http://example.com/" | grep -iE "^(HTTP/|location:)"
Weiterleitungskette einer URL verfolgen
$curl -sSIL http://example.com/ | grep -iE '^(HTTP/|location:)'
X-Robots-Tag-Header einer URL prüfen
$curl -s -o /dev/null -D - https://example.com/ | grep -i '^x-robots-tag'