API ile Kasada başlıklarını alın

solvethree tarafından2 dk okuma

www.ticketmaster.com üzerindeki tam HTTPS URL'si için bir KasadaTask isteyin, ardından döndürülen başlıkları hedef isteğinizde kullanın. Bağımsız Kasada şu anda bu ana makineyi destekler.

Bu sayfada

Başlıkları isteyin

Resmî SDK ile Python 3.10+ veya Node.js 22+ kullanın. SDK'yı resmî indirmelerden yükleyin.

SOLVETHREE_API_KEY değerini çalışma alanınızın API anahtarına, SOLVETHREE_PROXY değerini ise proxy URL'nize ayarlayın. API anahtarının gizli kalması için bunu sunucuda çalıştırın. url değerini desteklenen ana makinedeki amaçlanan HTTPS URL'siyle değiştirin.

Python · Kasada başlıkları
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"])

Her iki örnek de tek bir görev oluşturan ve görev hazır olana kadar durumunu sorgulayan veya hata üreten solve çağrısını yapar. Sonraki bölüm, döndürülen başlıkları hedefe gönderir.

Görevde type, url, tek bir proxy ve isteğe bağlı bir requestId sağlanır. Özel tarayıcı kimliği alanları eklemeyin: çözümde döndürülen kimliği kullanın.

Döndürülen başlıkları hedefe gönderin

Kasada sonucu · örnek başlıklar
{
  "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"
  }
}

solution.headers nesnesinin tamamını kopyalayın. User-Agent ve sec-ch-ua değerlerini sonuçtan ayarlayın ve çözümlemedekiyle aynı proxy'yi kullanın:

Python requests · döndürülen Kasada başlıklarını gönderme
# 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)

Bu devam örnekleri Python'da requests, Node.js'te ise undici gerektirir. Görevdeki tam URL'ye istek gönderir ve çakışan tarayıcı başlıklarını değiştirirler. Hedefinizin gerektirdiği diğer uygulama başlıklarını veya oturum verilerini koruyun.

proxyCandidates kullanıyorsanız hedef isteği göndermeden önce successful_proxy veya successfulProxy ile başarılı proxy'yi seçin. Tek proxy kullanan örnekler Python'da request["proxy"], Node.js'te ise request.proxy değerini yeniden kullanır.

Gönderimden sonra hedefin yanıtını kontrol edin. 403 durumunda, hangi isteğin reddedildiğini kontrol etmek için Ticketmaster sorun giderme kılavuzunu kullanın.

Bekleme ve hatalar

solve() durum sorgulamayı sizin yerinize yapar. Görev kimliğini hemen almak için sıfır bekleme süresiyle create_task veya createTask kullanın, ardından görev ready veya failed durumuna ulaşana kadar bu kimlikle sonucu alın.

Doğrudan API kullanımında Kasada görevi oluşturma işlemi varsayılan olarak 75 saniyeye kadar bekler. HTTP zaman aşımınızı bu bekleme süresinden uzun ayarlayın veya ?waitMs=0 kullanıp durumu sorgulayın. İstek sırası için görev durumu sorgulama ve zaman aşımları bölümüne bakın.

Görev başarısız olduğunda durum sorgulamayı durdurun ve errorCode ile error alanlarını inceleyin. Başarısız çözümlemelerin ücreti iade edilir. Oluşturma işlemi zaman aşımına uğrarsa işlemi kurtarırken aynı requestId değerini ve girdileri koruyun; yeni bir kimlik, ücretlendirilen başka bir çözümleme oluşturabilir.

İlk görevinizi çalıştırın.

$5 çalışma alanı kredisiyle başlayın.

Çalışma alanı oluşturun
API ile Kasada başlıklarını alın · solvethree