Kasada-Header über die API abrufen
Fordern Sie eine KasadaTask für die genaue HTTPS-URL auf www.ticketmaster.com an und verwenden Sie anschließend die zurückgegebenen Header in Ihrer Zielanfrage. Eigenständiges Kasada unterstützt derzeit diesen Host.
Auf dieser Seite
Header anfordern
Verwenden Sie Python 3.10+ oder Node.js 22+ mit dem offiziellen SDK. Installieren Sie das SDK über die offiziellen Downloads.
Setzen Sie SOLVETHREE_API_KEY auf Ihren Workspace-API-Schlüssel und SOLVETHREE_PROXY auf Ihre Proxy-URL. Führen Sie dies auf dem Server aus, damit der API-Schlüssel vertraulich bleibt. Ändern Sie url in die vorgesehene HTTPS-URL auf dem unterstützten Host.
import os
from uuid import uuid4
from solvethree import Solvethree
client = Solvethree(os.environ["SOLVETHREE_API_KEY"])
request = {
'type': 'KasadaTask',
'url': 'https://www.ticketmaster.com/',
"proxy": os.environ["SOLVETHREE_PROXY"],
"requestId": str(uuid4()),
}
result = client.solve(request, timeout=180)
headers = result["solution"]["headers"]
print("Ready task:", result["id"])import { randomUUID } from 'node:crypto';
import { Solvethree } from '@solvethree/sdk';
const client = new Solvethree({ apiKey: process.env.SOLVETHREE_API_KEY });
const request = {
type: 'KasadaTask',
url: 'https://www.ticketmaster.com/',
proxy: process.env.SOLVETHREE_PROXY,
requestId: randomUUID(),
};
const result = await client.solve(request, { timeoutMs: 180_000 });
const headers = result.solution.headers;
console.log('Ready task:', result.id);Beide Beispiele rufen solve auf. Diese Methode erstellt eine Aufgabe und fragt sie ab, bis sie fertig ist, oder löst einen Fehler aus. Der nächste Abschnitt sendet die zurückgegebenen Header an das Ziel.
Die Aufgabe enthält type, url, einen einzelnen proxy und optional requestId. Fügen Sie keine benutzerdefinierten Felder zur Browseridentität hinzu: Verwenden Sie die in der Lösung zurückgegebene Identität.
Zurückgegebene Header an das Ziel senden
{
"id": "example-kasada",
"status": "ready",
"solution": {
"headers": {
"x-kpsdk-ct": "EXAMPLE_HEADER_VALUE",
"x-kpsdk-cd": "EXAMPLE_HEADER_VALUE"
},
"userAgent": "EXAMPLE_USER_AGENT",
"secChUa": "EXAMPLE_CLIENT_HINTS"
}
}Kopieren Sie das gesamte Objekt solution.headers. Setzen Sie User-Agent und sec-ch-ua anhand des Ergebnisses und verwenden Sie denselben Proxy wie beim Lösen:
# Continue after the Kasada solve. Install requests separately: pip install requests.
import requests
solution = result["solution"]
headers = {name: value for name, value in solution["headers"].items()
if name.lower() not in {"user-agent", "sec-ch-ua"}}
headers.update({"User-Agent": solution["userAgent"], "sec-ch-ua": solution["secChUa"]})
response = requests.get(
request["url"], headers=headers,
proxies={"http": request["proxy"], "https": request["proxy"]},
timeout=30, allow_redirects=False,
)
print("Target HTTP status:", response.status_code)// Continue after the Kasada solve. Install undici separately: npm install undici@7.
import { fetch, ProxyAgent } from 'undici';
const targetHeaders = new Headers(result.solution.headers);
targetHeaders.set('user-agent', result.solution.userAgent);
targetHeaders.set('sec-ch-ua', result.solution.secChUa);
const dispatcher = new ProxyAgent(request.proxy);
try {
const response = await fetch(request.url, {
dispatcher, headers: targetHeaders, redirect: 'manual',
signal: AbortSignal.timeout(30_000),
});
console.log('Target HTTP status:', response.status);
await response.arrayBuffer();
} finally {
await dispatcher.close();
}Diese Fortsetzungen erfordern requests in Python oder undici in Node.js. Sie senden die genaue URL aus der Aufgabe und ersetzen widersprüchliche Browserheader. Behalten Sie alle anderen Anwendungsheader oder Sitzungsdaten bei, die Ihr Ziel benötigt.
Wenn Sie proxyCandidates verwenden, wählen Sie vor dem Senden der Zielanfrage mit successful_proxy oder successfulProxy den erfolgreichen Proxy aus. Die Beispiele mit einem einzelnen Proxy verwenden request["proxy"] in Python bzw. request.proxy in Node.js erneut.
Prüfen Sie nach der Übermittlung die Antwort des Ziels. Verwenden Sie bei einem 403 den Leitfaden zur Ticketmaster-Fehlerbehebung, um zu prüfen, welche Anfrage abgelehnt wird.
Warten und Fehler
solve() übernimmt das Polling für Sie. Um die Aufgaben-ID sofort zu erhalten, verwenden Sie create_task oder createTask mit einer Wartezeit von null und rufen Sie diese ID dann so lange ab, bis der Status ready oder failed erreicht ist.
Bei direkter API-Nutzung wartet die Kasada-Erstellung standardmäßig bis zu 75 Sekunden. Setzen Sie Ihr HTTP-Timeout höher als diese Wartezeit oder verwenden Sie ?waitMs=0 und Polling. Die Abfolge der Anfragen finden Sie unter Aufgaben-Polling und Zeitüberschreitungen.
Beenden Sie bei einer fehlgeschlagenen Aufgabe das Polling und prüfen Sie errorCode und error. Fehlgeschlagene Lösungsvorgänge werden erstattet. Wenn bei der Erstellung eine Zeitüberschreitung auftritt, behalten Sie beim Wiederherstellen dieselbe requestId und dieselben Eingaben bei; eine neue ID kann einen weiteren kostenpflichtigen Lösungsvorgang erstellen.
Quellen und API-Referenz
Führe deinen ersten Task aus.
Starte mit $5 Workspace-Guthaben.