Tarayıcıda bir uygulamanın istek yaptığını izlediniz. Çalışıyor. Veriler Ağ sekmesinde hemen oracıkta. Şimdi aynı çağrıyı, URL'yi, başlıkları ve JSON gövdesini elle yeniden yazmadan kaydedebileceğiniz, sahtesini oluşturabileceğiniz ve test edebileceğiniz belgelenmiş bir uç nokta olarak istiyorsunuz.
"Gördüğüm trafik" ile "yeniden kullanabileceğim bir uç nokta" arasındaki bu boşluğu bir HAR dosyası kapatır. Tarayıcınız, yaptığı her isteği ve yanıtı zaten kaydeder. Bu kaydı dışa aktarın, Apidog'a verin ve yakalanan her çağrı projenizde gerçek bir uç nokta haline gelsin. Bu rehber tüm yolu anlatıyor: Chrome DevTools'ta bir HAR yakalayın, doğru seçeneklerle içe aktarın ve liste kullanışlı kalacak şekilde oluşturulan uç noktaları düzenleyin. Yakalama iş akışlarına daha geniş bir bakış için, Apidog ile paket yakalama araçları rehberimiz ilgili alanı kapsar.
Apidog'u ücretsiz indirin ve aynı ekranlarda takip edin.
HAR dosyası nedir ve yakalanan trafiği saklamak neden önemlidir?
HAR, HTTP Archive'ın kısaltmasıdır. Apidog belgelerine göre, bir .har dosyası "bir web tarayıcısının bir siteyle etkileşimini kaydetmek için kullanılan JSON biçimli bir dosyadır. Tarayıcı ile sunucu arasında gönderilen web isteklerini, yanıtları, başlıkları ve diğer verileri kaydeder."
Açıkça söylemek gerekirse: bir HAR dosyası, bir göz atma oturumunun tam bir dökümüdür. Her GET, her POST, istek başlıkları, yanıt gövdeleri, zamanlama. JSON olduğu için kolayca taşınabilir. E-posta ile gönderebilir, bir hata raporuna ekleyebilir veya okumayı bilen bir araca besleyebilirsiniz.
Son kısım, neden önemli olduğunun cevabıdır. Yakalanan bir oturum, bir API'nin sahada gerçekte nasıl davrandığının bir kaydıdır, bir spesifikasyonun nasıl olması gerektiğini söylediği değil. Bu kaydı uç noktalara dönüştürdüğünüzde, birkaç şeyi ücretsiz olarak elde edersiniz:
- Gerçek bir istek şekli. Uygulamanın gönderdiği tam URL, sorgu parametreleri, başlıklar ve gövde, bir tahmin değil.
- Gerçek bir yanıt. Sunucunun döndürdüğü durum kodu ve yükü, bunu bir sahte yanıt veya bir test onayı olarak kullanabilirsiniz.
- Belgeleme için bir başlangıç noktası. Belgelenmemiş dahili bir API, açıklayabileceğiniz adlandırılmış uç noktalar kümesi haline gelir.
Bu, bir OpenAPI spesifikasyonu olmayan bir hizmeti devraldığınızda, üçüncü taraf bir widget'ın arka ucuyla nasıl konuştuğunu tersine mühendislikle çözdüğünüzde veya bir hatayı tetikleyen tam çağrı ile yeniden üretmek istediğinizde kullanışlıdır.
Adım 1: Tarayıcınızın Geliştirici Araçları'nda HAR'ı yakalama
Yakalama Apidog'da değil, tarayıcınızda gerçekleşir. Chrome ve Edge, aynı Geliştirici Araçları'nı kullandığından adımlar aynıdır. Bir sipariş geçmişi sayfasının arkasındaki trafiği yakalamak istediğinizi varsayalım.
- Kaydetmek istediğiniz sayfayı açın. API bir oturum gerektiriyorsa önce oturum açın, zira HAR bu istekleri de taşıyacaktır.
- Geliştirici Araçları'nı açın. Windows ve Linux'ta
F12veyaCtrl+Shift+I, Mac'te iseCmd+Opt+Ituşlarına basın. - Network (Ağ) sekmesine geçin. Geliştirici Araçları sayfanın yaptığı her isteği burada listeler.
- Sayfayı yenileyin veya trafiğini istediğiniz eylemlere tıklayın. Sipariş geçmişi görünümünü yüklemek,
/api/orders,/api/orders/{id}ve sayfanın ihtiyaç duyduğu diğer çağrıları tetikler. Her biri bir satır olarak görünür. - Herhangi bir istek satırına sağ tıklayın ve Save all as HAR with content (Tümünü içerikli HAR olarak kaydet) seçeneğini seçin. Bir konum seçin ve dosyayı kaydedin, örneğin
order-history.har. Menüdeki ifade sizi şaşırtırsa, Chrome DevTools Ağ referansı aynı yakalama ve dışa aktarma akışını belgeler.
"İçerikli" kısmı önemlidir. Bu, Geliştirici Araçları'na sadece istek meta verilerini değil, yanıt gövdelerini de dahil etmesini söyler. Bunlar olmadan, içe aktarılan uç noktalarınız istek şekillerine sahip olurdu ancak örnek yanıtlara sahip olmazdı.
Tarayıcıdan ayrılmadan önce hızlı bir sağlamlık kontrolü: Eğer .har dosyasını bir metin düzenleyicide açarsanız, okunabilir bir JSON olduğunu görürsünüz. Her girdinin bir request ve bir response nesnesine sahip olduğu bir entries dizisi göreceksiniz. Apidog'un okuduğu yapı budur.
Akılda tutulması gereken bir şey. Bir sayfa yüklemesi sadece API çağrılarından daha fazlasını çeker. Ayrıca görselleri, stil sayfalarını ve komut dosyalarını da getirir ve bunların her biri HAR'a düşer. Bunları tarayıcıda filtrelemenize gerek yok; Apidog, bir sonraki bölümde ele alınan, içe aktarırken bunları bırakmanız için bir anahtar sunar.
Adım 2: HAR'ı Apidog'a aktarma
Dosya kaydedildikten sonra Apidog'a geçin. İçe aktarıcı tek bir yerdedir.
- Projenizi açın ve Ayarlar > Veri İçe Aktar > Manuel'e gidin.
- Biçim olarak HAR'ı seçin.
.hardosyanızı yükleyin, örneğin az önce kaydettiğinizorder-history.hardosyasını.
Onaylamadan önce, Apidog üç içe aktarma seçeneği gösterir. Bunlar sonucun ne kadar temiz olacağına karar verir, bu yüzden her birini rastgele tıklamak yerine anlamak faydalıdır.
Seçenek 1: BaseURL'in nasıl ele alındığı
Yakalanan her isteğin https://api.shop.example.com/v1/orders/123 gibi tam bir URL'si vardır. Ana bilgisayar kısmı ile ne yapacağınıza dair iki seçeneğiniz var:
- Sabit kodlama (Hardcode), BaseURL'yi her uç noktanın yolu içinde tutar. Her uç nokta tam
https://api.shop.example.comön ekini taşır. - Kaldır (Önerilen) (Remove), BaseURL'yi kaldırarak uç nokta yolunun
/v1/orders/123olmasını sağlar. Ana bilgisayar daha sonra ortam değişkenleri aracılığıyla global olarak yönetilir.
Bir nedeniniz yoksa Kaldır seçeneğini tercih edin. Önerilen ayar olmasının bir nedeni var: temel URL bir ortam değişkeninde olduğunda, ortamları değiştirerek aynı uç noktaları üretim, hazırlık veya yerel bir sunucuya yönlendirebilirsiniz, uç noktaların kendilerinde hiçbir değişiklik yapmadan. Sabit kodlama, her uç noktayı yakaladığınız ana bilgisayara kilitler ve bu, farklı bir sunucuya karşı test yapmanız gerektiğinde can sıkıcı hale gelir.
Seçenek 2: Statik kaynakları hariç tutma
Bu, sizi dağınık bir uç nokta listesinden kurtaran anahtardır. Statik Kaynak seçeneği, Hariç Tut olarak ayarlandığında, Apidog'a yakalanan görselleri, CSS ve JavaScript dosyalarını atlamasını söyler. Tek bir sayfa yüklemesi onlarca bunlardan üretebilir ve bunların hiçbiri belgelemek isteyeceğiniz API uç noktaları değildir.
Hemen hemen her içe aktarma için Hariç Tut seçeneğini açın. Filtreden sonra kalan, gerçek API trafiğidir: /api/orders ve benzerlerine yapılan JSON çağrıları, logo.png isteği değil.
Seçenek 3: Her uç nokta için bir test durumu oluşturma
Üçüncü seçenek Uç Nokta Durumu Oluşturma'dır. Bunu AÇIK konuma getirin ve Apidog, içe aktarırken her uç nokta için varsayılan bir test durumu oluşturur. Bir test durumu, yakalanan değerler zaten doldurulmuş olarak uç noktanın kaydedilmiş, çalıştırılabilir bir çağrısıdır.
Bu, sonradan karşılığını veren küçük bir adımdır. Amacınız bu uç noktaları test etmekse, her uç nokta için hazır bir duruma sahip olmak, sıfırdan oluşturmak yerine hemen çalıştırabileceğiniz anlamına gelir. Şimdilik sadece belgeleme istiyorsanız, bunu kapalı bırakabilir ve durumları daha sonra ekleyebilirsiniz.
İçe aktarmayı onaylayın. Apidog, HAR'ı okur, seçeneklerinizi uygular ve yakalanan tarayıcı etkileşimlerini projenizin içinde API uç noktalarına dönüştürür. Uç nokta ağacını açın ve onları gruplandırılmış ve hazır göreceksiniz.
Sipariş çağrısını örnek olarak kullanarak, içe aktarılan bir uç nokta kabaca şöyle görünür:
GET /v1/orders/123
Host: api.shop.example.com
Authorization: Bearer <token-from-capture>
Accept: application/json
Ve Apidog'un yanında depoladığı yakalanan yanıt:
{
"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, sunucunun döndürdüğü gerçek verilerdir ve bu da onu bir sahte yanıt veya bir test onayı için sağlam bir temel yapar.
Adım 3: Oluşturulan uç noktaları düzenleme
Bir HAR içe aktarımı hızlı bir ilk geçiştir, bitmiş bir API tanımı değildir. Yakalanan trafik doğası gereği dağınıktır, bu nedenle sonucu düzenlemek için birkaç dakika ayırın.
- Gürültüyü temizleyin. Statik Kaynak Hariç Tut olarak ayarlanmış olsa bile, önemsemediğiniz analiz pingleri, sağlık kontrolleri veya üçüncü taraf çağrıları bulabilirsiniz. Kullanmayacağınız uç noktaları silerek ağacın gerçek API'nizi yansıtmasını sağlayın.
- Yeniden adlandırın ve gruplandırın. Yakalanan uç noktalar yollarına göre adlandırılır, bu işlevseldir ancak düzdür. Onlara net adlar verin (
/v1/orders/123yerine "ID'ye göre sipariş al") ve API'nizin yapısına uyan klasörler halinde düzenleyin. - Yol parametrelerini düzeltin.
/v1/orders/123yakalaması, değişmez bir yol olarak içe aktarılır. Eğer123gerçekten bir sipariş ID'si ise, o segmentin bir{orderId}yol parametresi haline gelmesi için uç noktayı düzenleyin. Bu tek değişiklik, tek bir yakalanan çağrıyı herhangi bir sipariş için çalışan yeniden kullanılabilir bir uç noktaya dönüştürür. - Paylaşmadan önce sırları temizleyin. Bu kolayca unutulabilen bir şeydir. HAR'ınız, o oturumda aktif olan kimlik doğrulama belirtecini yakaladı ve başlıklarla birlikte geldi. Projeyi kaydetmeden veya takım arkadaşlarınızla paylaşmadan önce, belirteçleri ortam değişkenlerine taşıyın ve yakalanan kimlik bilgilerini örneklerden temizleyin. Stripe belgeleri, canlı anahtarların paylaşılan yapıtlar arasına sızmasına asla izin verilmemesi gerektiği konusunda aynı noktayı vurgular ve bir HAR tam da onları sızdıran türden bir yapıttır.
- Gövdeleri sağlamlık kontrolünden geçirin. Beklediğiniz verilerin olduğu bir gövde boşsa, muhtemelen "içerikli" olmadan dışa aktardınız. Save all as HAR with content (Tümünü içerikli HAR olarak kaydet) kullanarak yeniden yakalayın ve tekrar içe aktarın.
Uç noktalar temizlendikten sonra, Apidog'daki diğer uç noktalar gibi davranırlar. Onları belgeleyebilir, her yanıttan bir sahte yanıt oluşturabilir ve testler geliştirebilirsiniz. Apidog'da bir test senaryosu yazma rehberi buradan doğal olarak devam eder ve bu uç noktalardan tür atanmış istemci kodu istiyorsanız, Apidog ile istemci kodu nasıl oluşturulur bölümüne bakın.
Varyasyonlar ve dürüst sınırlamalar
Birkaç durum, sıkça karşılaşıldığı için belirtilmeye değerdir.
Henüz otomatik bir kaydedici yok
Apidog'un bir proxy gibi arka planda oturup trafiği canlı olarak kaydetmesini bekleyebilirsiniz. Bunu yapmaz ve bu konuda açık olmakta fayda var. Belgelerde açıkça belirtilir: "Apidog şu anda otomatik kayıt uç nokta işlevini desteklememektedir, ancak gelecekte desteklemeye yönelik planlar bulunmaktadır."
Bu nedenle, bugün desteklenen yol tam olarak bu rehberdeki gibidir: tarayıcınızın Geliştirici Araçları ile yakalayın, HAR'ı dışa aktarın ve içe aktarın. Belgelerin önerdiği akış, tarayıcıda bir uç noktayı çalıştırırken Geliştirici Araçları'nı açmak, işiniz bittiğinde HAR'ı dışa aktarmak, tek tıklamayla Apidog'a içe aktarmak, ardından bir test senaryosu oluşturmak ve oynatma için tüm istekleri içe aktarmaktır. Bu, tek tıklamayla içe aktarmanın ardından manuel bir yakalama adımıdır, canlı bir kaydedici değildir. Otomatik kayıt özelliği çıktığında bu bölüm değişecektir, ancak onu beklemeyin.
Apidog Tarayıcı Uzantısı farklı bir araçtır
Bir Apidog Tarayıcı Uzantısı var ve bunun HAR trafiğini yakaladığını varsaymak kolaydır. Yakalamaz. Uzantı, Apidog'un API testini ve hata ayıklamasını masaüstü istemcisini açmadan doğrudan tarayıcıda kullanmanıza olanak tanır. Bu, istekleri çalıştırmakla ilgilidir, kaydetmekle değil.
HAR yakalama, tarayıcınızın kendi Geliştirici Araçları'ndan gelir, nokta. Uzantıyı test için kullanırsanız, tarayıcının ona sınırlamalar getirdiğini bilin: Cookie, Host, Origin ve Content-Length gibi belirli başlıkları engeller, GET veya HEAD isteklerinde gövde göndermez ve yerel koda veya makinenizin arkasındaki bir veritabanına erişemez. İçe aktarmak için trafiği yakalamak için, Geliştirici Araçları'nı ve HAR dışa aktarımını kullanın. Tam başlık kontrolü gerektiren daha ağır hata ayıklaması için, Apidog Masaüstü İstemcisi'nin tarayıcının dayattığı böyle bir sınırlaması yoktur.
Diğer formatlar aynı şekilde içe aktarılır
HAR, aynı Ayarlar > Veri İçe Aktar > Manuel ekranının kabul ettiği birkaç formattan biridir. Zaten bir OpenAPI veya Swagger dosyanız varsa, bunu içe aktarmak size yakalamadan daha temiz bir sonuç verir, çünkü bir spesifikasyon kasıtlı olarak yapılandırılmıştır. Swagger API belgelerini Apidog'a taşıma hakkındaki rehberimiz bu yolu kapsar ve Postman'den geliyorsanız, Postman ortamları ve koleksiyon taşıma rehberi de aynı şekildedir. Gerçek bir spesifikasyon yoksa ve yakalanan trafik elinizdeki en iyi kayıt ise HAR'a başvurun.
İş akışını Apidog CLI ile otomatikleştirin
Bir HAR'ı içe aktarmak bir GUI adımı olmak zorunda değildir. Apidog CLI, bir HAR dosyasını doğrudan okuyan bir import komutuna sahiptir; bu, yakalamanın bir sunucuda gerçekleştiği, içe aktarmayı bir pipeline'da betiklediğiniz veya bir yapay zeka kodlama aracısının bir yakalamayı uç noktalara dönüştürmesine izin verdiğiniz durumlarda istediğiniz şeydir:
npm install -g apidog-cli
apidog login --with-token <YOUR_ACCESS_TOKEN>
# Turn a captured HAR into endpoints in your project
apidog import --project <PROJECT_ID> --format har --file ./capture.har
--format bayrağı ayrıca openapi, postman, wsdl, insomnia ve daha fazlasını kabul eder, böylece tek bir komut çoğu içe aktarma kaynağını kapsar. Uç noktalar var olduğunda ve onları bir test senaryosuna kaydettiğinizde, bu senaryoyu CI'da başsız olarak çalıştırın:
apidog run --access-token $APIDOG_ACCESS_TOKEN \
-t <SCENARIO_ID> -e <ENV_ID> -r cli
Burada -t kaydedilmiş test senaryosu kimliğidir, -e ortam kimliğidir (BaseURL'nizi tutan aynı ortam değişkenleri) ve -r raporlayıcıyı seçer, konsol çıktısı için cli. Senaryoyu Apidog'da test senaryosu yazma rehberi ile oluşturun, ardından her iki komutu da Apidog CLI CI/CD rehberi ile pipeline'ınıza bağlayın.
Sıkça Sorulan Sorular
Hangi tarayıcılar bir HAR dosyası dışa aktarabilir?
DevTools'lu herhangi bir Chromium tabanlı tarayıcı bunu aynı şekilde yapar, bu nedenle Chrome ve Edge her ikisi de Network (Ağ) sekmesini ve Save all as HAR with content (Tümünü içerikli HAR olarak kaydet) menü öğesini kullanır. Apidog belgeleri özellikle Chrome ve Edge yolunu kapsar. Diğer tarayıcıların kendi dışa aktarma menüleri vardır, ancak etiket farklılık gösterebilir, bu nedenle tarayıcınızın kendi DevTools ifadesiyle eşleştirin.
İçe aktarılan uç nokta listem çok büyük. Ne yanlış gitti?
Büyük olasılıkla Statik Kaynak seçeneğini her şeyi dahil edecek şekilde bıraktınız. Bir sayfa yüklemesi görselleri, CSS'i ve komut dosyalarını çeker ve bunların hepsi HAR'a dahil olur. Dosyayı Statik Kaynak seçeneğini Hariç Tut olarak ayarlayarak yeniden içe aktarın, böylece liste gerçek API çağrılarına daralır. Artakalanları daha sonra elle de silebilirsiniz.
BaseURL için Sabit kodlama mı yoksa Kaldır mı seçmeliyim?
Hemen hemen her durumda Kaldır (Önerilen) seçeneğini tercih edin. Bu, ana bilgisayarı her uç nokta yolundan çıkarır, böylece onu bir ortam değişkeni aracılığıyla global olarak yönetirsiniz, bu da uç noktaları düzenlemeden üretim, hazırlık ve yerel ortamlar arasında geçiş yapmanızı sağlar. Aynı kurulum, Apidog'daki bir test senaryosunun çalıştığında okuduğu şeydir. Yalnızca tam URL'yi her yola özel olarak yerleştirmek istediğinizde Sabit kodlama seçeneğini seçin.
HAR kimlik doğrulama belirteçlerimi içeriyor mu?
Evet, asıl sorun da bu. Bir HAR, oturum sırasında gönderilen gerçek başlıkları kaydeder, bu nedenle aktif olan herhangi bir taşıyıcı belirteç veya çerez dosyada bulunur. Bir HAR'ı bir sır gibi ele alın: halka açık bir soruna yapıştırmayın ve içe aktardıktan sonra, kimlik bilgilerini ortam değişkenlerine taşıyın ve projeyi paylaşmadan önce kaydedilmiş örneklerden temizleyin.
GUI'yi atlayıp bir HAR'ı komut satırından içe aktarabilir miyim?
Evet. Apidog CLI'nin apidog import --project <id> --format har --file <path> komutu, bir HAR'ı uygulamayı açmadan projenize getirir, bu da yakalamanın bir sunucuda veya bir CI işinde gerçekleştiği durumlarda istediğiniz şeydir. GUI, tek seferlik bir yakalama için size etkileşimli içe aktarma seçenekleri (BaseURL işleme, Statik Kaynak filtreleme) sunmaya devam eder, bu yüzden hangisi uygunsa onu seçin: betik veya aracı güdümlü içe aktarmalar için CLI, içe aktarmayı elle ayarlamak istediğinizde GUI. İçe aktardıktan sonra, apidog run, bu uç noktalardan oluşturduğunuz test senaryolarını yeniden oynatır.
Özet
Bir HAR dosyası, gördüğünüz trafik ile yeniden kullanabileceğiniz uç noktalar arasındaki köprüdür. Oturumu tarayıcınızın Geliştirici Araçları'nda Tümünü içerikli HAR olarak kaydet ile yakalayın, Ayarlar > Veri İçe Aktar > Manuel aracılığıyla BaseURL için Kaldır ve Statik Kaynak için Hariç Tut seçenekleriyle içe aktarın, ardından birkaç dakika yeniden adlandırma, parametreleştirme ve sırları temizleme için harcayın. Elde ettiğiniz şey, belgeleyebileceğiniz, sahtesini oluşturabileceğiniz ve test edebileceğiniz çalışan bir uç nokta kümesidir.
Bir sonraki yakalamanızı gerçek uç noktalara dönüştürmeye hazır mısınız? Apidog'u indirin ve ücretsiz deneyin, kredi kartı gerekmez.
