Obtenir des en-têtes Kasada avec l’API

Par solvethree3 min de lecture

Demandez une KasadaTask pour l’URL HTTPS exacte sur www.ticketmaster.com, puis utilisez les en-têtes renvoyés dans votre requête cible. Kasada autonome prend actuellement en charge cet hôte.

Sur cette page

Demandez les en-têtes

Utilisez Python 3.10+ ou Node.js 22+ avec le SDK officiel. Installez le SDK depuis les téléchargements officiels.

Définissez SOLVETHREE_API_KEY sur la clé API de votre espace de travail et SOLVETHREE_PROXY sur l’URL de votre proxy. Exécutez ce code sur le serveur pour préserver la confidentialité de la clé API. Modifiez url pour indiquer l’URL HTTPS prévue sur l’hôte pris en charge.

Python · en-têtes Kasada
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"])

Les deux exemples appellent solve, qui crée une tâche et interroge son état jusqu’à ce qu’elle soit prête ou qu’une erreur soit levée. La section suivante envoie les en-têtes renvoyés à la cible.

La tâche fournit type, url, un seul proxy et un requestId facultatif. N’ajoutez pas de champs d’identité de navigateur personnalisés : utilisez l’identité renvoyée dans la solution.

Envoyez les en-têtes renvoyés à la cible

Résultat Kasada · exemples d’en-têtes
{
  "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"
  }
}

Copiez l’objet solution.headers en entier. Définissez User-Agent et sec-ch-ua à partir du résultat, et utilisez le même proxy que pour la résolution :

Python requests · envoyer les en-têtes Kasada renvoyés
# 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)

Ces suites d’exemples nécessitent requests en Python ou undici en Node.js. Elles envoient une requête à l’URL exacte de la tâche et remplacent les en-têtes de navigateur en conflit. Conservez les autres en-têtes d’application ou données de session requis par votre cible.

Si vous utilisez proxyCandidates, sélectionnez le proxy qui a réussi avec successful_proxy ou successfulProxy avant d’envoyer la requête cible. Les exemples à proxy unique réutilisent request["proxy"] en Python ou request.proxy en Node.js.

Vérifiez la réponse de la cible après l’envoi. En cas de statut 403, utilisez le guide de dépannage Ticketmaster pour vérifier quelle requête est rejetée.

Attente et erreurs

solve() gère l’interrogation périodique pour vous. Pour recevoir immédiatement l’ID de tâche, utilisez create_task ou createTask avec un délai d’attente nul, puis récupérez la tâche correspondant à cet ID jusqu’à ce qu’elle atteigne ready ou failed.

Avec l’API directe, la création Kasada attend jusqu’à 75 secondes par défaut. Définissez un délai d’expiration HTTP supérieur à cette attente, ou utilisez ?waitMs=0 et interrogez périodiquement la tâche. Consultez Interrogation des tâches et délais d’expiration pour connaître la séquence de requêtes.

Si une tâche échoue, arrêtez de l’interroger et examinez errorCode et error. Les résolutions échouées sont remboursées. Si la création dépasse le délai d’expiration, conservez le même requestId et les mêmes paramètres pour récupérer la tâche ; un nouvel ID peut créer une autre résolution facturable.

Lancez votre première tâche.

Démarrez avec $5 de crédit dans votre espace de travail.

Créer un espace de travail
Obtenir des en-têtes Kasada avec l’API · solvethree