Ironfang Render bietet eine gewöhnliche HTTPS-API, daher kann PHP sie mit cURL aufrufen, ganz ohne SDK. Eine erfolgreiche Anfrage liefert die Bildbytes direkt zurück, bereit zum Schreiben in eine Datei.
Einen Schlüssel erstellen
Erstellen Sie im Portal einen API-Schlüssel. Das Geheimnis wird einmal angezeigt und als Hash gespeichert. Legen Sie es in einer Umgebungsvariablen namens IRONFANG_API_KEY ab statt in der Quelldatei; das Beispiel unten liest es von dort.
export IRONFANG_API_KEY="if_live_..."Einen Screenshot erstellen
<?php
$key = getenv('IRONFANG_API_KEY');
if ($key === false || $key === '') {
fwrite(STDERR, "Set IRONFANG_API_KEY to your Ironfang API key.\n");
exit(1);
}
$ch = curl_init('https://api.ironfang.uk/render/v1/screenshot');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 60,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . $key,
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'url' => 'https://example.com',
'width' => 1280,
]),
]);
$body = curl_exec($ch);
if ($body === false) {
throw new RuntimeException('Request failed: ' . curl_error($ch));
}
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if ($status !== 200) {
$err = json_decode($body, true)['error'] ?? ['code' => 'unknown', 'message' => $body];
throw new RuntimeException("{$status} {$err['code']}: {$err['message']}");
}
file_put_contents('shot.png', $body);Führen Sie es aus, und der Screenshot wird als shot.png im aktuellen Verzeichnis gespeichert:
php shot.phpFehlerbehandlung
Erfolgreiche Render-Antworten sind binär. Fehler kommen als JSON in der Form {"error": {"code", "message"}}. Ein fehlender oder unbekannter Schlüssel ergibt 401 invalid_api_key. Ein Schlüssel ohne die Berechtigung render:render ergibt 403 insufficient_scope.
// CURLOPT_RETURNTRANSFER keeps the binary response in $body
// instead of writing it directly to stdout. curl_exec returns
// false only when the request never completed.PDFs und Vorlagen
Derselbe Aufruf funktioniert für PDFs unter /render/v1/pdf und für Bilder aus Vorlagen unter /render/v1/image/{id}. Nur der Pfad und der Body ändern sich.
Weiterlesen
- Screenshot-API: Viewport-Größen, Formate, saubere Aufnahmen und Preise
- Ganzseitige Screenshots: die ganze scrollende Seite in einem Bild erfassen
- Website-Screenshots in Python
- Website-Screenshots in Node.js
- Vollständige API-Referenz

