PowerShell ile Dev Proxy kullanma

Bir bakışta
Hedef: PowerShell'i Dev Proxy ile çalışacak şekilde yapılandırma
Süre: 5 dakika
Önkoşullar:Geliştirme Ara Sunucusunu Ayarlama

Dev Proxy tüm işletim sistemlerinde PowerShell ile çalışır. macOS ve Linux'ta PowerShell, sistem ara sunucusu değişikliklerini doğru algılar ve ek yapılandırma gerekmez. Windows'da PowerShell, ek adımlar gerektiren ara sunucu ayarlarını önbelleğe alır.

macOS ve Linux

macOS ve Linux'ta PowerShell, sistem ara sunucusu değişikliklerini otomatik olarak algılar. Geliştirme Proxy'lerini başlatın ve PowerShell'i normalde yaptığınız gibi kullanın; istekler ek yapılandırma olmadan kesilir.

Windows

Windows üzerinde PowerShell ile Dev Proxy kullandığınızda, PowerShell'in sistem proxy'sinin ne zaman başlatıldığı veya durduğunda algılamadığı sorunlarla karşılaşabilirsiniz. Bu sorun hem Windows PowerShell (5.1) hem de PowerShell 7+ (Core) için geçerlidir.

Sorun

Windows'da, PowerShell oturumları başlatıldığında sistem proxy ayarlarını önbelleğe alır. Bu, şu anlama gelir ki eğer siz:

  1. PowerShell oturumu açın
  2. Geliştirme Proxy'sini başlat (kendisini sistem proxy'si olarak yapılandıran)
  3. Özgün PowerShell oturumundan HTTP istekleri yapma

PowerShell oturum başlatıldığından önbelleğe alınmış ara sunucu ayarlarını kullandığından istekler Dev Proxy üzerinden yönlendirilmez.

Benzer şekilde, şunları yaparsanız:

  1. Geliştirme Proxy'sini başlat
  2. Bir PowerShell oturumu açın ve istekler gönderin (doğru bir şekilde yakalanıyorlar)
  3. Geliştirme Ara Sunucusunu Durdur
  4. Aynı PowerShell oturumundan istekte bulunma

PowerShell artık var olmayan ara sunucuyu kullanmaya çalıştığından istekler başarısız olur.

Geçici çözüm: PowerShell oturumlarını yeniden başlatma

En basit geçici çözüm, Dev Proxy'yi başlattıktan veya durdurduktan sonra PowerShell oturumunuzu yeniden başlatmaktır. Oturumu yeniden başlatmak PowerShell'in geçerli sistem ara sunucusu ayarlarını almasını sağlar.

Alternatif: Proxy'yi el ile ayarlama

Sistem ara sunucusu algılamaya güvenmek yerine, Dev Proxy'yi sistem proxy'si olarak kaydedilmeyecek şekilde yapılandırabilir ve proxy'yi PowerShell'de el ile ayarlayabilirsiniz.

1. Adım: Sistem proxy'si olmadan Geliştirme Proxy'si başlatma

Geliştirici Proxy'sini şu seçenekle --as-system-proxy false başlatın:

devproxy --as-system-proxy false

2. Adım: PowerShell'de ara sunucu ortam değişkenini ayarlama

PowerShell oturumunuzda ortam değişkenini HTTPS_PROXY ayarlayın:

$env:HTTPS_PROXY = "http://127.0.0.1:8000"

AYRıCA HTTP isteklerini kesmeniz gerekiyorsa:

$env:HTTP_PROXY = "http://127.0.0.1:8000"

3. Adım: bitirdiğinizde proxy'yi temizleyin

Geliştirme Proxy'sini kullanmayı bitirdiğinizde ortam değişkenlerini temizleyin:

$env:HTTPS_PROXY = $null
$env:HTTP_PROXY = $null

PowerShell profili kullanma

Proxy'yi ayarlamayı basitleştirmek için PowerShell profilinizde işlevler oluşturabilirsiniz. Aşağıdakini dosyanıza $PROFILE ekleyin:

function Set-DevProxy {
    $env:HTTP_PROXY = "http://127.0.0.1:8000"
    $env:HTTPS_PROXY = "http://127.0.0.1:8000"
    Write-Host "Dev Proxy enabled"
}

function Clear-DevProxy {
    $env:HTTP_PROXY = $null
    $env:HTTPS_PROXY = $null
    Write-Host "Dev Proxy disabled"
}

Ardından, PowerShell oturumunuzda ara sunucuyu hızlı bir şekilde etkinleştirmek veya devre dışı bırakmak için Set-DevProxy ve Clear-DevProxy komutlarını kullanabilirsiniz.