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.
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.
- Trafiğini kaydetmek istediğiniz sayfayı açın.
- API oturum gerektiriyorsa önce giriş yapın. HAR, oturum sırasında gönderilen başlıkları ve çerezleri de kaydedebilir.
- Geliştirici Araçları'nı açın:
- Windows/Linux:
F12veyaCtrl+Shift+I - macOS:
Cmd+Opt+I
- Windows/Linux:
- Network (Ağ) sekmesine geçin.
- Sayfayı yenileyin veya izlemek istediğiniz işlemi gerçekleştirin.
- Bir istek satırına sağ tıklayın.
- Save all as HAR with content seçeneğini seçin.
- Dosyayı örneğin
order-history.haradı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": {}
}
]
}
}
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.
- Projenizi açın.
- Ayarlar > Veri İçe Aktar > Manuel yoluna gidin.
- Biçim olarak HAR seçin.
- Kaydettiğiniz
.hardosyası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
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
Ç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}
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
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:
- HAR dosyasını okur.
- Seçtiğiniz filtreleri uygular.
- Tarayıcı çağrılarını API uç noktalarına dönüştürür.
- 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
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"
}
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
yerine:
ID'ye göre sipariş getir
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
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
Ancak 123 bir sipariş kimliği ise uç noktayı şu şekilde düzenleyin:
/v1/orders/{orderId}
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:
-
Authorizationbaş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}}
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
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:
- Tarayıcı DevTools ile trafiği yakalayın.
- HAR dosyasını dışa aktarın.
- HAR dosyasını Apidog'a içe aktarın.
- Uç noktaları düzenleyin.
- 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,OriginveContent-Lengthgibi 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
--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
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>
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ışı:
- Tarayıcı DevTools'ta trafiği yakalayın.
- Save all as HAR with content ile dışa aktarın.
- Apidog'da Ayarlar > Veri İçe Aktar > Manuel ekranını açın.
- BaseURL için Kaldır seçeneğini kullanın.
- Statik kaynaklar için Hariç Tut ayarını seçin.
- İçe aktarılan uç noktaları yeniden adlandırın, gruplandırın ve parametreleştirin.
- Token ve çerez gibi gizli bilgileri temizleyin.
- 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)