İçeriğe geç

Oluşturma ve Tekrar Oynatma (Composer)

Yakalamak yalnızca “bakmak” değildir. Trace Eagle’ın istek oluşturucusu (Composer), “gerçekten yakalanan istek” ile “elle oluşturma ve hata ayıklama”yı tek bir yerde birleştirir: yakalanan herhangi bir istek olduğu gibi yeniden gönderilebilir veya parametreleri değiştirilip yeniden gönderilebilir; ayrıca sıfırdan bir istek oluşturup gönderebilirsiniz. Bir yakalama aracı ile ayrı bir API hata ayıklama aracı arasında artık gidip gelmenize gerek yok.


  • Yeniden gönder / düzenle ve tekrar oynat: trafik listesinde sağ tıklayın veya detay panelinde “Düzenle ve yeniden gönder”e tıklayın; yakalanan bu istek olduğu gibi oluşturucuya yüklenir. Adres, yakalama anındaki protokol / host / port bilgisinden geri yüklenir, ilgisiz bağlantı başlıkları ayıklanır, gövde ve türü içerikten otomatik olarak algılanır. Birkaç parametreyi değiştirip yeniden gönderin.
  • Sıfırdan oluşturma: oluşturucunun içinde elle yeni bir istek oluşturun.

Her iki giriş noktası da aynı gönderim kanalını kullanır ve sonuçlar ayrı bir Composer oturum sekmesinde kaydedilir (tam geçmiş korunarak); burada, yakalanmış bir istek gibi görüntülenebilir, yeniden düzenlenebilir ve karşılaştırılabilir.


  • İstek satırı: yöntem (GET / POST / PUT / DELETE / PATCH / HEAD / OPTIONS) + URL.
  • Parametre tablosu: sorgu parametreleri tablo içinde satır satır yönetilir, URL’den ayrı tutulur ve yalnızca gönderim anında birleştirilir; bu, içindeki dinamik yer tutucuların erken kodlama tarafından bozulmaması anlamına gelir.
  • Başlık tablosu: herhangi bir başlık satırını ekleyin, kaldırın veya düzenleyin.
  • Kimlik doğrulama yardımcısı: Yok / Bearer Token / Basic (kullanıcı adı + parola, otomatik base64); yalnızca kendiniz bir Authorization başlığı yazmadıysanız devreye girer.
  • Gövde: yok / JSON / form (form-urlencoded) / ham metin; JSON veya form seçmek uygun Content-Type’ı otomatik olarak ekler.

3. Dinamik değerler: imzalı / şifreli özel API’leri ele almak

Bölüm başlığı “3. Dinamik değerler: imzalı / şifreli özel API’leri ele almak”

Herhangi bir alan, gönderimden önce motor tarafından değerlendirilen ${...} dinamik değerleri içerebilir. Bu, imza / zaman damgası / nonce taşıyan özel API’leri hata ayıklamak için can kurtarıcıdır:

Dinamik değer Amaç
${uuid} / ${randomUUID} Rastgele UUID
${timestamp} Saniye cinsinden Unix zaman damgası
${timestampMs} / ${now} Milisaniye cinsinden Unix zaman damgası
${random} 16 haneli rastgele onaltılık
${randomInt:min,max} Bir aralıkta rastgele tam sayı
${base64:} / ${base64url:} / ${base64decode:} Base64 kodlama / çözme
${md5:} / ${sha1:} / ${sha256:} Özet (hash)
${hmacSha256:key,msg} / ${hmacSha256Base64:key,msg} / ${hmacSha1:key,msg} HMAC imzası
${urlEncode:} / ${upper:} / ${lower:} URL kodlama / büyük-küçük harf dönüşümü
  • İç içe geçme desteklenir: örneğin ${hmacSha256:${secret},${body}}, önce değişkeni çözer, sonra imzayı hesaplar.
  • Çözülemeyen her şey olduğu gibi bırakılır, böylece hangi değişkenin değerlendirilmediğini bir bakışta görürsünüz; oysa sıradan araçlar tanımsız bir değişkenle karşılaştığında genellikle hata verir veya boş bir değer gönderir.

Composer: yöntem + URL, parametreler / başlıklar / kimlik doğrulama / gövde bölümleriyle; alanlar ${...} dinamik değerleri içerebilir (örneğin ${hmacSha256:...} ile anında imza hesaplama), koleksiyonlar ve ortamlarla birlikte


  • Ortam değişkenleri: ${name} değerlerini ortam değişkenlerine çıkarın ve birden fazla ortam (“geliştirme / test / üretim” gibi) arasında tek tıkla geçiş yapın; değişkenler birbirine referans verebilir ve zincirleme olarak genişleyebilir.
  • Koleksiyonlar: sık kullanılan istekleri adlandırılmış klasörler altında gruplandırın, mevcut isteği istediğiniz zaman kaydedin ve dilediğinizde yeniden yükleyip kullanın.
  • Otomatik çalışma alanı kaydı: koleksiyonlar + ortamlar, farkı alınabilen ve gözden geçirilebilen, düz metin, sürüm kontrolüne uygun bir dosya olarak otomatik kaydedilir; bir ekip içinde paylaşmayı ve geçmişi izlemeyi kolaylaştırır.

  • cURL içe aktarma: bir cURL komutunu yapıştırarak düzenlenebilir bir isteğe dönüştürün (-X / -H / -d / --data-* / -u / -b / -A / -e gibi yaygın parametreleri destekler, tırnak işleme dahil; gövde varsa otomatik olarak POST olarak ele alır).
  • Koleksiyon dosyası içe aktarma: harici API koleksiyon dosyalarını içe aktarın (odak ham gövdededir; gruplar tek bir koleksiyona düzleştirilir).
  • Kod üretimi: mevcut isteği tek tıkla cURL / Python / JavaScript(fetch) / Go / OkHttp kod parçacığına aktarın; script yazmak, bir projeye eklemek veya bir meslektaşla paylaşmak için kullanışlıdır.

6. Sadık gönderim: yeniden üretimi gerçek yola yakın tutmak

Bölüm başlığı “6. Sadık gönderim: yeniden üretimi gerçek yola yakın tutmak”

Tekrar oynatmanın değeri “yeniden üretilen isteğin gerçek ortamla eşleşmesinde” yatar. Oluşturucunun ayarlarında, gönderim yakalama oturumuyla aynı ağ özelliklerini koruyabilir, böylece sonuçlar daha güvenilir olur:

  • Yukarı akış proxy’si: bir yukarı akış proxy’si (http / socks5) üzerinden gönderin; tekrar oynatılan isteği bir şirket proxy’sine, atlama sunucusuna (jump host) veya başka bir ikincil proxy’ye yönlendirin.
  • İstek özelliği sadakati (tarayıcı profili): tekrar oynatılan isteğin ağ özelliklerini standart bir istemcininkine (yaygın bir tarayıcı gibi) geri yükleyin; yeniden üretilen isteği gerçek yolla tutarlı tutun.
  • Özel DNS: alan adının hangi DNS ile çözüleceğini belirtin; zehirlenmeyi önlemek veya belirlenmiş bir yolu izlemek için.

Göndermeden önce, tüm ${...} dinamik değerleri önce yerel olarak değerlendirilir, böylece gerçekte ne gönderileceğini her zaman tam olarak görebilirsiniz. Her gönderim, yakalama oturumundan izole, ayrı bir Composer oturumundan geçer; sonuçlar durum kodunu, protokolü ve geçen süreyi satır içinde gösterir ve oturumda bir Flow olarak kaydedilir; böylece, yakalanmış bir istek gibi, yeniden görüntülenebilir, yeniden düzenlenebilir ve karşılaştırılabilir.


7. İstek karşılaştırmasıyla (Diff) birlikte kullanım

Bölüm başlığı “7. İstek karşılaştırmasıyla (Diff) birlikte kullanım”

Oluşturulmuş / tekrar oynatılmış bir istek, geçmişten gerçek bir yakalanmış istekle satır satır, yan yana karşılaştırılabilir; “aynı uç nokta için bu seferle geçen sefer arasında tam olarak ne fark var” sorusunu hızla tespit eder ve bu, imza, parametre ve yanıt farklarını gidermek için özellikle etkilidir. Bkz. İstek Karşılaştırma.


Proxy Yakalama sayfasına dön · İlgili: Yeniden Yazma Kuralları ve Kesme Noktaları · İstek Karşılaştırma