DEV Community

Cover image for Apidog'da HAR Dosyalarını İçe Aktarma Rehberi: Ağ Trafiğini API Uç Noktalarına Çevirme
Tobias Hoffmann
Tobias Hoffmann

Posted on • Originally published at apidog.com

Apidog'da HAR Dosyalarını İçe Aktarma Rehberi: Ağ Trafiğini API Uç Noktalarına Çevirme

Tarayıcıda bir uygulamanın yaptığı istekleri izlediniz: çağrılar çalışıyor ve veriler Ağ sekmesinde görünüyor. Şimdi bu trafiği URL, başlık ve JSON gövdesini yeniden yazmadan; belgelenebilir, test edilebilir ve sahte yanıt üretilebilir API uç noktalarına dönüştürmek istiyorsunuz.

Apidog'u bugün deneyin

Bu boşluğu HAR dosyası kapatır. Tarayıcı, yaptığı istek ve yanıtları zaten kaydeder. Kaydı dışa aktarın, Apidog'a içe aktarın ve yakalanan çağrıları projenizde uç noktalara dönüştürün. Yakalama iş akışlarına daha geniş açıdan bakmak için Apidog ile paket yakalama araçları rehberine de göz atın.

Apidog'u ücretsiz indirin ve aşağıdaki adımları aynı ekranlarda uygulayın.

HAR dosyası nedir ve neden saklanmalıdır?

HAR, HTTP Archive kısaltmasıdır. .har dosyası; tarayıcı ile sunucu arasındaki istekleri, yanıtları, başlıkları ve zamanlama verilerini JSON biçiminde saklar.

Pratikte HAR, bir tarayıcı oturumunun tam kaydıdır:

  • GET ve POST istekleri
  • URL ve sorgu parametreleri
  • İstek başlıkları
  • İstek ve yanıt gövdeleri
  • Durum kodları
  • Zamanlama bilgileri

Bu kayıt, API'nin teorik olarak nasıl çalışması gerektiğini değil, uygulamada gerçekte nasıl davrandığını gösterir. HAR'ı uç noktalara dönüştürdüğünüzde şunları elde edersiniz:

  • Gerçek istek şekli: URL, parametre, başlık ve gövde tahmine dayanmaz.
  • Gerçek yanıt örneği: Dönen durum kodu ve yük, test veya sahte yanıt için başlangıç noktası olur.
  • Belgeleme temeli: Belgelenmemiş çağrıları isimlendirilmiş ve düzenlenebilir API uç noktalarına dönüştürebilirsiniz.

Bu yöntem özellikle aşağıdaki durumlarda kullanışlıdır:

  • OpenAPI spesifikasyonu olmayan bir servisi devraldığınızda
  • Üçüncü taraf bir widget'ın arka uç çağrılarını anlamanız gerektiğinde
  • Bir hatayı tetikleyen isteği birebir yeniden üretmek istediğinizde

Adım 1: Tarayıcı Geliştirici Araçları ile HAR yakalayın

HAR yakalama işlemi Apidog'da değil, tarayıcıda yapılır. Chrome ve Edge aynı DevTools altyapısını kullandığı için adımlar benzerdir.

Örnek olarak, sipariş geçmişi sayfasının yaptığı API çağrılarını yakalayalım.

  1. Trafiğini kaydetmek istediğiniz sayfayı açın.
  2. API oturum gerektiriyorsa önce giriş yapın. HAR, oturum sırasında gönderilen başlıkları ve çerezleri de kaydedebilir.
  3. Geliştirici Araçları'nı açın:
    • Windows/Linux: F12 veya Ctrl+Shift+I
    • macOS: Cmd+Opt+I
  4. Network (Ağ) sekmesine geçin.
  5. Sayfayı yenileyin veya izlemek istediğiniz işlemi gerçekleştirin.
  6. Bir istek satırına sağ tıklayın.
  7. Save all as HAR with content seçeneğini seçin.
  8. Dosyayı örneğin order-history.har adıyla kaydedin.

Menü seçeneği için ek referansa ihtiyacınız varsa Chrome DevTools Ağ referansı aynı dışa aktarma akışını açıklar.

Neden “with content” önemli?

Bu seçenek yalnızca istek meta verilerini değil, yanıt gövdelerini de HAR'a ekler. Yanıt gövdeleri olmadan içe aktarılan uç noktalarda örnek yanıt verileri bulunmaz.

Yakalamadan sonra .har dosyasını bir metin düzenleyicide açabilirsiniz. Dosyada genellikle entries dizisi bulunur ve her kayıt request ile response nesneleri içerir:

{
  "log": {
    "entries": [
      {
        "request": {},
        "response": {}
      }
    ]
  }
}
Enter fullscreen mode Exit fullscreen mode

Bir sayfa yüklemesinin yalnızca API çağrılarını değil; görselleri, CSS dosyalarını ve JavaScript kaynaklarını da kaydettiğini unutmayın. Bunları tarayıcı tarafında tek tek filtrelemek zorunda değilsiniz; içe aktarma sırasında statik kaynakları hariç tutabilirsiniz.

Adım 2: HAR dosyasını Apidog'a aktarın

HAR dosyasını kaydettikten sonra Apidog projenize geçin.

  1. Projenizi açın.
  2. Ayarlar > Veri İçe Aktar > Manuel yoluna gidin.
  3. Biçim olarak HAR seçin.
  4. Kaydettiğiniz .har dosyasını yükleyin. Örneğin: order-history.har.

İçe aktarmayı onaylamadan önce üç ayarı kontrol edin.

Seçenek 1: BaseURL yönetimi

Yakalanan istekler tam URL içerir:

https://api.shop.example.com/v1/orders/123
Enter fullscreen mode Exit fullscreen mode

Apidog'da ana bilgisayar bölümünü iki farklı şekilde ele alabilirsiniz.

  • Sabit kodlama: Tam URL her uç noktada tutulur.
  • Kaldır (Önerilen): BaseURL kaldırılır ve uç nokta yalnızca yol olarak saklanır:
/v1/orders/123
Enter fullscreen mode Exit fullscreen mode

Çoğu durumda Kaldır seçeneğini tercih edin. Böylece BaseURL'yi ortam değişkeni olarak yönetebilir ve aynı uç noktaları farklı ortamlarda kullanabilirsiniz:

{{baseUrl}}/v1/orders/{orderId}
Enter fullscreen mode Exit fullscreen mode

Bu yapı ile üretim, hazırlık ve yerel ortamlar arasında geçiş yapmak için yalnızca ortam değişkenini değiştirmeniz yeterlidir. BaseURL yönetimiyle ilgili ek bağlam için Swagger API belgelerini Apidog'a taşıma rehberine bakabilirsiniz.

Seçenek 2: Statik kaynakları hariç tutun

Statik Kaynak seçeneğini Hariç Tut olarak ayarlayın.

Bu ayar şunları içe aktarma dışında bırakır:

  • Görseller
  • CSS dosyaları
  • JavaScript dosyaları
  • Diğer statik varlıklar

Böylece uç nokta listeniz aşağıdaki gibi anlamlı API çağrılarına odaklanır:

/api/orders
/api/orders/{id}
/api/users/me
Enter fullscreen mode Exit fullscreen mode

logo.png, app.css veya bundle.js gibi kaynaklar ise listeyi gereksiz şekilde doldurmaz.

Seçenek 3: Her uç nokta için test durumu oluşturun

Uç Nokta Durumu Oluşturma seçeneğini açarsanız, Apidog içe aktarılan her uç nokta için çalıştırılabilir bir varsayılan test durumu oluşturur.

Bu seçenek özellikle yakalanan çağrıları hemen doğrulamak istiyorsanız faydalıdır. Test durumları, yakalama sırasında görülen değerlerle oluşturulur ve daha sonra düzenlenebilir.

İçe aktarmayı onayladığınızda Apidog:

  1. HAR dosyasını okur.
  2. Seçtiğiniz filtreleri uygular.
  3. Tarayıcı çağrılarını API uç noktalarına dönüştürür.
  4. Uç noktaları proje ağacında gruplandırır.

Örneğin, içe aktarılan bir istek şu şekilde görünebilir:

GET /v1/orders/123
Host: api.shop.example.com
Authorization: Bearer <token-from-capture>
Accept: application/json
Enter fullscreen mode Exit fullscreen mode

Yakalanan yanıt örneği ise şöyle olabilir:

{
  "id": 123,
  "status": "shipped",
  "total": 48.5,
  "currency": "USD",
  "items": [
    { "sku": "TSHIRT-BLK-M", "qty": 2, "price": 19.25 }
  ],
  "createdAt": "2026-07-14T09:31:00Z"
}
Enter fullscreen mode Exit fullscreen mode

Bu yanıt, sahte yanıt veya test doğrulaması oluşturmak için kullanılabilir.

Adım 3: İçe aktarılan uç noktaları düzenleyin

HAR içe aktarma işlemi hızlı bir başlangıç sağlar; ancak yakalanan trafik genellikle doğrudan paylaşılacak kadar temiz değildir. Aşağıdaki düzenlemeleri yapın.

1. Gürültüyü temizleyin

Statik kaynakları hariç tutmuş olsanız bile aşağıdaki çağrılar kalabilir:

  • Analiz istekleri
  • Sağlık kontrolü çağrıları
  • Üçüncü taraf servis çağrıları
  • Kullanmayacağınız telemetri istekleri

API projenizde yer almasını istemediğiniz uç noktaları silin.

2. Uç noktaları yeniden adlandırın ve gruplandırın

Yakalanan uç noktalar genellikle URL'ye göre adlandırılır. Daha okunabilir adlar kullanın:

/v1/orders/123
Enter fullscreen mode Exit fullscreen mode

yerine:

ID'ye göre sipariş getir
Enter fullscreen mode Exit fullscreen mode

Ardından uç noktaları API alanına göre klasörleyin:

Orders
├── Siparişleri listele
├── ID'ye göre sipariş getir
└── Sipariş oluştur

Users
├── Geçerli kullanıcıyı getir
└── Kullanıcı güncelle
Enter fullscreen mode Exit fullscreen mode

3. Sabit URL parçalarını yol parametresine dönüştürün

HAR kaydı, aşağıdaki yolu sabit değer olarak içe aktarır:

/v1/orders/123
Enter fullscreen mode Exit fullscreen mode

Ancak 123 bir sipariş kimliği ise uç noktayı şu şekilde düzenleyin:

/v1/orders/{orderId}
Enter fullscreen mode Exit fullscreen mode

Bu değişiklik, tek bir yakalanmış çağrıyı yeniden kullanılabilir bir API tanımına dönüştürür.

4. Kimlik bilgilerini temizleyin

HAR dosyaları aktif oturum verilerini içerebilir:

  • Authorization başlıkları
  • Bearer token'lar
  • Cookie değerleri
  • API anahtarları

Projeyi paylaşmadan önce bu değerleri ortam değişkenlerine taşıyın:

Authorization: Bearer {{accessToken}}
Enter fullscreen mode Exit fullscreen mode

Yakalanmış gerçek belirteçleri örneklerden silin. Stripe belgeleri de canlı anahtarların paylaşılan yapılara dahil edilmemesi gerektiğini özellikle vurgular.

5. Yanıt gövdelerini doğrulayın

İçe aktarılan uç noktada yanıt gövdesi boşsa HAR dosyasını büyük olasılıkla içerik olmadan dışa aktardınız.

Tarayıcıda yeniden yakalama yapın ve şu seçeneği kullandığınızdan emin olun:

Save all as HAR with content
Enter fullscreen mode Exit fullscreen mode

Uç noktaları temizledikten sonra Apidog'da diğer API tanımları gibi kullanabilirsiniz:

  • Dokümantasyon oluşturma
  • Yanıtlardan mock üretme
  • Test senaryosu oluşturma
  • İstemci kodu üretme

Devam etmek için Apidog'da test senaryosu yazma ve Apidog ile istemci kodu oluşturma rehberlerini kullanabilirsiniz.

Varyasyonlar ve sınırlamalar

Otomatik canlı kaydedici yok

Apidog'un arka planda çalışan bir proxy gibi tüm trafiği otomatik kaydetmesini beklemeyin. Belgelerde belirtildiği üzere Apidog şu anda otomatik uç nokta kaydı özelliğini desteklememektedir.

Desteklenen akış şudur:

  1. Tarayıcı DevTools ile trafiği yakalayın.
  2. HAR dosyasını dışa aktarın.
  3. HAR dosyasını Apidog'a içe aktarın.
  4. Uç noktaları düzenleyin.
  5. Gerekirse test senaryosu oluşturun.

Yani süreç tek tıklamalı bir içe aktarma içerir; ancak canlı trafik kaydı yerine manuel HAR dışa aktarmaya dayanır.

Apidog Tarayıcı Uzantısı farklı amaçla kullanılır

Apidog Tarayıcı Uzantısı, HAR trafiği yakalamak için kullanılmaz. Uzantı, masaüstü istemcisini açmadan tarayıcı içinde API test ve hata ayıklama işlemleri yapmaya yöneliktir.

HAR yakalama için tarayıcının kendi DevTools araçlarını kullanın.

Tarayıcı uzantılarının bazı sınırlamaları da olabilir:

  • Cookie, Host, Origin ve Content-Length gibi belirli başlıklar engellenebilir.
  • GET veya HEAD isteklerinde gövde gönderilemez.
  • Yerel kod veya makinenizin arkasındaki veritabanlarına erişilemez.

Tam başlık kontrolü gereken hata ayıklama işlemlerinde Apidog Masaüstü İstemcisi tarayıcı uzantısı sınırlamalarına sahip değildir.

Diğer içe aktarma formatları

HAR, Ayarlar > Veri İçe Aktar > Manuel ekranından desteklenen tek format değildir.

Elinizde zaten bir spesifikasyon varsa, HAR yerine onu içe aktarmak genellikle daha temiz sonuç verir:

  • OpenAPI
  • Swagger
  • Postman koleksiyonları
  • WSDL
  • Insomnia

İlgili rehberler:

Gerçek bir API spesifikasyonu yoksa ve elinizdeki en iyi kaynak çalışan uygulama trafiğiyse HAR uygun seçimdir.

İş akışını Apidog CLI ile otomatikleştirin

HAR içe aktarma işlemini yalnızca arayüzden yapmak zorunda değilsiniz. Apidog CLI, HAR dosyalarını komut satırından içe aktarmayı destekler.

npm install -g apidog-cli
apidog login --with-token <YOUR_ACCESS_TOKEN>

# Yakalanan HAR dosyasını projedeki uç noktalara dönüştürür
apidog import --project <PROJECT_ID> --format har --file ./capture.har
Enter fullscreen mode Exit fullscreen mode

--format bayrağı ayrıca openapi, postman, wsdl, insomnia ve diğer formatları kabul eder.

Uç noktaları test senaryosuna ekledikten sonra senaryoyu CI ortamında başsız çalıştırabilirsiniz:

apidog run --access-token $APIDOG_ACCESS_TOKEN \
  -t <SCENARIO_ID> -e <ENV_ID> -r cli
Enter fullscreen mode Exit fullscreen mode

Parametreler:

Parametre Açıklama
-t Kaydedilmiş test senaryosu kimliği
-e Ortam kimliği
-r cli Konsol çıktısı için CLI raporlayıcısı

Test senaryosunu Apidog'da test senaryosu yazma rehberiyle oluşturabilir, ardından komutları Apidog CLI CI/CD rehberi ile pipeline'ınıza ekleyebilirsiniz.

Sıkça Sorulan Sorular

Hangi tarayıcılar HAR dosyası dışa aktarabilir?

DevTools içeren Chromium tabanlı tarayıcılar bu işlemi benzer şekilde yapar. Chrome ve Edge'de Network sekmesini açıp Save all as HAR with content seçeneğini kullanabilirsiniz.

Diğer tarayıcılarda dışa aktarma menüsünün adı değişebilir; kendi DevTools dokümantasyonuna göre ilerleyin.

İçe aktarılan uç nokta listesi çok büyük. Neden?

Büyük olasılıkla statik kaynakları içe aktardınız. Sayfa yüklemeleri; görselleri, CSS'i ve JavaScript dosyalarını da içerir.

HAR dosyasını yeniden içe aktarırken Statik Kaynak > Hariç Tut ayarını seçin. Kalan gereksiz çağrıları da manuel olarak silebilirsiniz.

BaseURL için Sabit kodlama mı, Kaldır mı seçmeliyim?

Çoğu durumda Kaldır (Önerilen) seçeneğini kullanın.

Bu ayar, BaseURL'yi uç nokta yolundan çıkarır ve ortam değişkeniyle yönetmenizi sağlar. Böylece uç nokta tanımlarını değiştirmeden üretim, hazırlık ve yerel ortamlar arasında geçiş yapabilirsiniz.

Yalnızca her uç noktada tam URL saklamak istiyorsanız Sabit kodlama seçeneğini kullanın.

HAR kimlik doğrulama belirteçlerini içerir mi?

Evet. HAR, oturum sırasında gönderilen gerçek başlıkları kaydedebilir. Bu nedenle bearer token, API anahtarı veya çerezler dosyada bulunabilir.

HAR dosyasını gizli bilgi gibi ele alın:

  • Genel bir issue içine yapıştırmayın.
  • Dosyayı herkese açık depolara yüklemeyin.
  • İçe aktarma sonrası kimlik bilgilerini ortam değişkenlerine taşıyın.
  • Kaydedilen örneklerden gerçek değerleri silin.

GUI kullanmadan HAR dosyasını içe aktarabilir miyim?

Evet. Aşağıdaki komut HAR dosyasını doğrudan projenize aktarır:

apidog import --project <id> --format har --file <path>
Enter fullscreen mode Exit fullscreen mode

Bu yaklaşım özellikle yakalamanın bir sunucuda, otomasyon aracında veya CI işinde gerçekleştiği durumlarda kullanışlıdır.

Arayüz ise BaseURL yönetimi ve statik kaynak filtreleme gibi içe aktarma seçeneklerini etkileşimli biçimde ayarlamak için daha uygundur. İçe aktarma sonrasında oluşturduğunuz test senaryolarını apidog run ile yeniden oynatabilirsiniz.

Özet

HAR dosyası, tarayıcıda gördüğünüz trafiği yeniden kullanılabilir API uç noktalarına dönüştürmenin pratik yoludur.

İş akışı:

  1. Tarayıcı DevTools'ta trafiği yakalayın.
  2. Save all as HAR with content ile dışa aktarın.
  3. Apidog'da Ayarlar > Veri İçe Aktar > Manuel ekranını açın.
  4. BaseURL için Kaldır seçeneğini kullanın.
  5. Statik kaynaklar için Hariç Tut ayarını seçin.
  6. İçe aktarılan uç noktaları yeniden adlandırın, gruplandırın ve parametreleştirin.
  7. Token ve çerez gibi gizli bilgileri temizleyin.
  8. Uç noktaları dokümantasyon, mock ve test senaryolarında kullanın.

Bir sonraki HAR yakalamanızı çalıştırılabilir API uç noktalarına dönüştürmek için Apidog'u indirin ve ücretsiz deneyin.

Top comments (0)