Dev Proxy kullanmaya başlama
Dev Proxy, dayanıklı uygulamalar oluşturmanıza yardımcı olmak için bulut API'lerinin davranışlarını ve hatalarını simüle etmeye yardımcı olan bir komut satırı aracıdır.
Bu öğreticide Dev Proxy'yi yüklemeyi, çalıştırmayı ve yapılandırmayı öğreneceksiniz.
Herhangi bir sorunla karşılaşırsanız , yeni bir sorun oluşturarak bizimle iletişime geçmekten çekinmeyin ve size yardımcı olmaktan mutluluk duyarız.
Dev Proxy'yi yükleme
Dev Proxy'yi yüklemenin en kolay yolu winget kullanmaktır. Alternatif olarak, Dev Proxy'yi el ile yükleyebilirsiniz.
Winget kullanarak Dev Proxy yüklemek için aşağıdaki komutu çalıştırın:
winget install Microsoft.DevProxy --silent
Önemli
Geliştirme Proxy yükleyicisi PATH'e yeni bir giriş ekler. Yüklemeden sonra Geliştirme Proxy'sini kullanmak için, PATH ortam değişkenlerinin yenilendiğinden emin olmak için komut istemini yeniden başlatmanız gerekir.
Dev Proxy'yi yüklemenin en kolay yolu Homebrew kullanmaktır. Alternatif olarak, Dev Proxy'yi el ile yükleyebilirsiniz.
Homebrew kullanarak Dev Proxy yüklemek için aşağıdaki komutları çalıştırın:
brew tap microsoft/dev-proxy
brew install dev-proxy
Not
En son önizleme özelliklerini denemek için Dev Proxy'nin beta sürümünü yükleyin.
Homebrew kullanarak Dev Proxy yüklemek için aşağıdaki komutları çalıştırın:
brew tap microsoft/dev-proxy
brew install dev-proxy-beta
Dev Proxy'nin beta sürümünü çalıştırmak için kullanın devproxy-beta
Geliştirme Proxy'sini ilk kez başlatma
Makinenizde Geliştirme Proxy'sini ilk kez başlattığınızda, Geliştirme Proxy'sinin makinenizden gelen istekleri kesebilmesini ve başarıyla yanıt vermesini sağlamak için izleyebileceğiniz birkaç adım vardır. İlk çalıştırmadan sonra bu adımları yinelemeniz gerekmez.
- Geliştirme Proxy'si'ni başlatın. Bir komut istemi oturumu açın. Enter tuşuna
devproxy
basın. - Sertifikaya güven. Dev Proxy adlı
Dev Proxy CA
bir sertifika yükler. Bir uyarı gösterilir. Sertifikayı yüklemek istediğinizi onaylamak için seçinYes
. Dev Proxy, makinenizden gönderilen HTTPS trafiğinin şifresini çözmek için bu sertifikayı kullanır. - Güvenlik duvarı erişimine izin ver. Windows Güvenlik Duvarı ara sunucuyu engeller. Bir uyarı gösterilir. Güvenlik duvarı üzerinden trafiğe izin vermek için düğmeyi seçin
Allow access
.
- Geliştirme Proxy'si'ni başlatın. Bir komut istemi oturumu açın. Enter tuşuna
devproxy
basın. - Sertifikaya güven. Dev Proxy, makinenizden gönderilen HTTPS trafiğinin şifresini çözmek için kullandığı adlı
Dev Proxy CA
bir sertifika yükler. Bir uyarı gösterilir. Sertifikaya güvenmek istediğinizi onaylamak için y tuşuna basın. - Gelen bağlantıları kabul edin. Bir uyarı gösterilir. Onaylamak için seçin
Allow
.
Komut istemi aşağıdaki çıkışı görüntüler:
8 error responses loaded from devproxy-errors.json
Listening on 127.0.0.1:8000...
Hotkeys: issue (w)eb request, (r)ecord, (s)top recording, (c)lear screen
Press CTRL+C to stop Dev Proxy
Varsayılan olarak, Geliştirme Proxy'si şu şekilde yapılandırılır:
- Herhangi bir JSON Yer Tutucu API uç noktasına yapılan kesme istekleri
- %50 hata oranıyla API hata yanıtlarının ve API azaltmasının benzetimini yapma
Kesme istekleri
Dev Proxy, makinenizdeki herhangi bir uygulamadan bilinen URL'lere yapılan istekleri durdurur. Bir istek algılandığında, Geliştirme Ara Sunucusu isteği API'ye geçirir (hiçbir işlem gerçekleştirmez) veya bir yanıt döndürür.
- Komut satırından JSON Yer Tutucu API'sine bir istek gönderin ve çıkışı görüntülemek için ara sunucu işlemine geri dönün.
PowerShell'de, JSON Yer Tutucu API'sine get isteği göndermek için cmdlet'ini kullanın Invoke-WebRequest
.
Invoke-WebRequest -Uri https://jsonplaceholder.typicode.com/posts
kullanıyorsanız curl
, aşağıdaki komutu kullanarak JSON Yer Tutucu API'sine bir GET isteği gönderin.
curl -ix http://localhost:8000 https://jsonplaceholder.typicode.com/posts
'a GET isteği https://jsonplaceholder.typicode.com/posts
göndermek için Postman gibi bir API istemcisi de kullanabilirsiniz.
Gelen istek ve Geliştirme Proxy'sinin gerçekleştirdiği eylem hakkında bazı temel bilgiler içeren bir giriş gösterilir. Geliştirme Proxy'si %50 şans ile hata yanıtı simülasyonu oluşturur. İsteğiniz hata döndürmezse Dev Proxy bunu geçirir.
request GET https://jsonplaceholder.typicode.com/posts
api ╭ Passed through
╰ GET https://jsonplaceholder.typicode.com/posts
- Bir hata yanıtı döndürülene kadar komut satırından JSON Yer Tutucu API'sine istek gönderme işlemini yineleyin.
request GET https://jsonplaceholder.typicode.com/posts
api ╭ Passed through
╰ GET https://jsonplaceholder.typicode.com/posts
request GET https://jsonplaceholder.typicode.com/posts
chaos ╭ 403 Forbidden
╰ GET https://jsonplaceholder.typicode.com/posts
Geliştirme Proxy'si hata yanıtı döndürdüğünde, girişte bir chaos
etiket görüntülenir.
- JSON Yer Tutucu API'sinde bulunan diğer uç noktalara istek göndermeyi deneyin
https://jsonplaceholder.typicode.com/posts
https://jsonplaceholder.typicode.com/posts/1
https://jsonplaceholder.typicode.com/posts/1/comments
https://jsonplaceholder.typicode.com/comments?postId=1
Geliştirme Proxy'lerini güvenli bir şekilde durdurma
Artık Dev Proxy'nin çalışmasını gerektirmediğinizde, her zaman güvenli bir şekilde durdurmanız gerekir.
- Dev Proxy'yi güvenli bir şekilde durdurmak için Ctrl + C tuşuna basın.
Komut istemi oturumunu kapatırsanız, Geliştirme Proxy'si sistem proxy'si olarak kaydı doğru şekilde kaldırmaz ve bazı yaygın sorunlarla karşılaşabilirsiniz.
URL'leri watch olarak güncelleştirme
Varsayılan olarak, Geliştirme Proxy'si JSON Yer Tutucu API'sine yapılan tüm istekleri kesecek şekilde yapılandırılır. Dev Proxy'yi herhangi bir HTTP API'sine yönelik istekleri kesecek şekilde yapılandırabilirsiniz.
- Bir komut isteminde komutunu çalıştırarak
brew list dev-proxy
yükleme klasörünü bulun. - Geliştirici Ara Sunucusu yükleme klasörünü Bulucu'da açın.
- Dev Proxy yükleme klasöründe bir metin düzenleyicisinde açın
devproxyrc.json
. - Diziyi
urlsToWatch
bulun.
"urlsToWatch": [
"https://jsonplaceholder.typicode.com/*"
],
Dizi bilinen urlsToWatch
URL'leri temsil eder. Geliştirme Proxy'si geçerli girdiden herhangi bir uç noktaya gelen istekleri izler. Girdi, URL'nin ardından joker karakter olarak bir yıldız işareti kullanır. Bu diziye daha fazla giriş eklemek, Geliştirme Proxy'sinin izlediği URL'leri genişletir.
Dev Proxy'nin belirli bir uç noktaya yapılan istekleri kesmesini istemediğinizi düşünelim.
- Diziye
urlsToWatch
yeni bir giriş ekleyin.
"urlsToWatch": [
"!https://jsonplaceholder.typicode.com/posts/2",
"https://jsonplaceholder.typicode.com/*"
],
URL'nin başındaki ünlem işareti, Geliştirme Proxy'sine bu URL ile eşleşen istekleri yoksaymalarını söyler. Url'deki ünlem işaretlerini ve yıldız işaretlerini karıştırabilir ve eşleştirebilirsiniz.
- Komut satırına girin
devproxy
ve Enter tuşuna basarak Dev Proxy'yi başlatın. - Komut satırından adresine
https://jsonplaceholder.typicode.com/posts/2
bir istek gönderin ve çıkışı görüntüleyin.
İsteğin yoksayıldığını ve API'ye geçirildiğini onaylayan bir giriş gösterilir.
request GET https://jsonplaceholder.typicode.com/posts/2
api ╭ Passed through
╰ GET https://jsonplaceholder.typicode.com/posts/2
URL'lerin dizide urlsToWatch
listelenme sırası önemlidir. Dev Proxy bu URL'leri sırayla işler. Bir URL eşleştiğinde, yeniden işlenmez. Bu nedenle, URL'nin önce yerleştirilmesi, bir sonraki URL işlenmeden önce isteğin yoksayılmasını sağlar.
Değişiklik hatası oranı
Varsayılan olarak, Geliştirme Proxy'si izlenen URL'lere %50 şansla isteklerin başarısız olması için yapılandırılır. Bir isteğin hata yanıtı döndürme olasılığını artırabilir veya azaltabilirsiniz.
JSON Yer Tutucu API'sine yapılan her isteğin bir hata yanıtı döndürmesi için hata oranını güncelleştirelim.
- Dev Proxy yükleme klasöründe bir metin düzenleyicisinde açın
devproxyrc.json
. rate
özelliğini bulun ve değerini50
100
olarak güncelleştirin.
Dosya, Geliştirme Proxy'sini devproxyrc.json
başlattığınızda kullanılan yapılandırma ayarlarını içerir. Yapılandırma ayarlarını değiştirirken, değişikliklerin kalıcı olması için her zaman Geliştirme Proxy'sini durdurmanız ve başlatmanız gerekir.
- Komut satırına girin
devproxy
ve Enter tuşuna basarak Dev Proxy'yi başlatın. - Komut satırından JSON Yer Tutucu API'sine bir istek gönderin ve çıkışı görüntüleyin.
Alternatif olarak, Geliştirme Proxy'sini --failure-rate
başlatırken seçeneğini kullanarak yapılandırma ayarlarını çalışma zamanında geçersiz kılabilirsiniz.
devproxy --failure-rate 100
- Dev Proxy'yi güvenli bir şekilde durdurmak için Ctrl + C tuşuna basın.
Azaltma benzetimi
Varsayılan olarak, Geliştirme Proxy'si genel 400 ve 500 hata yanıtlarından oluşan bir aralık döndürür. Bu hata yanıtlarını kendi gereksinimlerinize göre özelleştirebilirsiniz.
Geliştirme Proxy'si, farklı API davranışlarını etkinleştirmek için eklentileri kullanır ve varsayılan olarak sizin için iki eklentiyi etkinleştiririz.
- GenericRandomErrorPlugin eklentisi, Dev Proxy'nin bir hata yanıtıyla yanıt verebilmesini sağlar.
- RetryAfterPlugin eklentisi, Dev Proxy'nin hata yanıtında Retry-After üst bilgisine dinamik bir değer eklemesini sağlar.
Geliştirme Proxy'sinin azaltma benzetimi için her zaman bir 429 Too Many requests
hata yanıtı döndürmesi için yapılandırmayı değiştirelim.
İlk olarak hata tanımlarını içeren dosyanın konumunu bulayalım.
- Dev Proxy yükleme klasöründe bir metin düzenleyicisinde açın
devproxyrc.json
. - dizisinde
plugins
GenericRandomErrorPlugin eklentisinin girişini bulun. özelliğininconfigSection
değerini not edin. - Dosyanın daha aşağı kısmında nesnesini bulun
genericRandomErrorPlugin
. özelliğininerrorsFile
değerini not edin.
İpucu
Geliştirme Proxy'sini başlattığınızda çıkışta hata dosyasının konumu da görüntülenir.
- Dev Proxy yükleme klasöründe bir metin düzenleyicisinde açın
devproxy-errors.json
. - Yanıt dışında
429
dizidekiresponses
tüm yanıt girdilerini kaldırın.
{
"$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.14.1/genericrandomerrorplugin.schema.json",
"responses": [
{
"statusCode": 429,
"body": {
"message": "Too Many Requests",
"details": "The user has sent too many requests in a given amount of time (\"rate limiting\")."
},
"headers": {
"Retry-After": "@dynamic"
}
}
]
}
- Komut satırına girin
devproxy
ve Enter tuşuna basarak Dev Proxy'yi başlatın. - Komut satırından JSON Yer Tutucu API'sine bir istek gönderin ve çıkışı görüntüleyin.
request GET https://jsonplaceholder.typicode.com/posts
chaos ╭ 429 TooManyRequests
╰ GET https://jsonplaceholder.typicode.com/posts
- Dev Proxy'yi güvenli bir şekilde durdurmak için Ctrl + C tuşuna basın.
Sonraki adım
Geliştirme Proxy'sini kullanarak kendi uygulamanız için rastgele hataların benzetimini yapmayı öğrenin.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin