Postman'i çoğu zaman bir API'yi denemek için açarsınız ve istek doğrudan bilgisayarınızdan çıkar. Ama bazı durumlarda isteğin başka bir IP adresinden gitmesi gerekir: API yalnızca belirli bir ülkeden gelen isteklere farklı yanıt veriyordur, şirket ağı internete yalnızca bir proxy üzerinden çıkmaya izin veriyordur ya da bir entegrasyonun IP kısıtlamasını test ediyorsunuzdur. Postman bu işler için iki yol sunar: işletim sisteminin proxy ayarını kullanmak veya Postman'e özel bir proxy tanımlamak.
Bu yazıda Postman'in proxy ayarlarını nerede tuttuğunu, özel proxy'nin adım adım nasıl tanımlandığını, kullanıcı adı ve şifrenin nasıl ekleneceğini ve proxy'nin gerçekten çalıştığını nasıl doğrulayacağınızı anlatıyoruz. Ardından bypass listesini, en sık görülen bağlantı hatalarını ve komut satırında Newman ile proxy kullanımını ele alıyoruz.
Postman proxy'yi nasıl kullanır?
Postman, gönderdiğiniz API isteklerini masaüstü uygulamasının içinden çıkarır. Bu isteklerin proxy'den geçip geçmeyeceğini Settings > Proxy sekmesindeki ayarlar belirler. Postman'in proxy belgesine göre isteklerin proxy üzerinden gönderilmesi için iki seçenek vardır:
- Sistem proxy'si (Use the system proxy): Postman, işletim sisteminin proxy ayarını ve
HTTP_PROXY,HTTPS_PROXY,NO_PROXYortam değişkenlerini kullanır. Bilgisayardaki bütün uygulamalar zaten aynı proxy'den çıkıyorsa pratiktir. - Özel proxy (Use custom proxy configuration): Postman'e, işletim sisteminden bağımsız olarak kendi proxy'sini tanımlarsınız. Yalnızca API testlerinin proxy'den geçmesini, tarayıcı ve diğer uygulamaların etkilenmemesini istiyorsanız doğru seçenektir.
Belgeye göre iki seçenek birlikte açıksa Postman özel proxy'yi kullanır. Karışıklığı önlemek için kullanmadığınız seçeneği kapalı tutmanızı öneririz.
Postman'in arayüzü sürümden sürüme değişebilir. Bu yazıdaki menü ve alan adları Postman'in güncel belgesine göre verilmiştir; farklı bir sürümde küçük farklılıklar görebilirsiniz.
Özel proxy nasıl tanımlanır?
- Postman masaüstü uygulamasını açın ve sağ üst köşedeki dişli simgesine tıklayıp Settings seçeneğine gidin.
- Açılan pencerede Proxy sekmesine geçin.
- İstek gönderme ayarlarının bulunduğu bölümde Use custom proxy configuration anahtarını açın.
- Use proxy for alanında proxy'nin hangi trafik için kullanılacağını seçin. API'lerin neredeyse tamamı HTTPS olduğu için HTTPS'in seçili olduğundan emin olun; iki kutuyu birlikte işaretlemek en güvenli seçenektir.
- Proxy server alanında önce protokolü seçin. Web API'leri için genellikle HTTP yeterlidir. SOCKS5 proxy kullanıyorsanız alan adı çözümlemesinin proxy tarafında yapılması için SOCKS5H seçeneğini tercih edin.
- Aynı satırda proxy sunucusunun adresini ve portunu girin, örneğin
pr.proxynet.iove8000. - Proxy kullanıcı adı ve şifre istiyorsa bir sonraki bölümdeki adımları uygulayın.
- Ayarlar otomatik kaydedilir. Pencereyi kapatıp bir istek göndererek test edin.
| Alan | Örnek değer | Açıklama |
|---|---|---|
| Use custom proxy configuration | Açık | Postman'e özel proxy'yi etkinleştirir |
| Use proxy for | HTTP ve HTTPS | Hangi isteklerin proxy'den geçeceği |
| Proxy server — protokol | HTTP veya SOCKS5H | HTTP web API'leri için, SOCKS5H uzak DNS ile SOCKS |
| Proxy server — sunucu | pr.proxynet.io | Panelinizdeki proxy adresi |
| Proxy server — port | 8000 | Seçtiğiniz protokolün portu |
| Proxy auth | Açık / kapalı | Kullanıcı adı ve şifre gerekiyorsa açık |
| Username / Password | Panel bilgileri | IP whitelist kullanıyorsanız boş |
| Proxy bypass | localhost,127.0.0.1 | Proxy'ye gönderilmeyecek adresler |
Postman belgesi, SOCKS proxy üzerinden yalnızca HTTP ve HTTPS isteklerinin gönderilebildiğini belirtir. WebSocket, gRPC gibi diğer istek türlerinin proxy davranışını ayrıca test etmeniz gerekir.
Kimlik doğrulama nasıl eklenir?
Proxy'ye iki yolla bağlanabilirsiniz: kullanıcı adı ve şifreyle ya da bilgisayarınızın IP adresini panelde izinli listeye ekleyerek. İki yöntemin farkını ve güvenlik açısından karşılaştırmasını Proxy Kimlik Doğrulama: User:Pass ve IP Whitelist yazımızda anlattık.
Kullanıcı adı ve şifreyle:
- Proxy sekmesinde Proxy auth anahtarını açın.
- Username ve Password alanlarına panelinizdeki bilgileri girin.
- Şifreyi bu alanlara kodlamadan, olduğu gibi yazın. Adresin içine yazılan şifrelerde gereken
%40gibi kodlamalar burada gerekmez; Postman bilgileri ayrı alanlardan alıpProxy-Authorizationbaşlığını kendisi oluşturur.
IP whitelist ile:
- Proxy kapalıyken bilgisayarınızın genel IP adresini öğrenin. Postman'de
https://api.ipify.orgadresine GET isteği göndermek yeterlidir. - Bu adresi müşteri panelinizdeki izinli IP listesine ekleyin.
- Postman'de Proxy auth anahtarını kapalı bırakın.
Ev bağlantınızın IP adresi değişiyorsa whitelist bir süre sonra çalışmaz hâle gelir; bu durumda kullanıcı adı ve şifreye geçmek daha az uğraştırır.
Proxy'nin çalıştığı nasıl doğrulanır?
Ayarları kaydettikten sonra isteğin gerçekten proxy'den geçtiğini görmek için IP adresini döndüren bir adrese istek gönderin.
- Yeni bir istek sekmesi açın ve yöntemi GET olarak bırakın.
- Adres çubuğuna
https://httpbin.org/ipyazın ve Send düğmesine basın. - Yanıt gövdesindeki
origindeğerine bakın.
{
"origin": "203.0.113.25"
}Bu adres proxy'nin çıkış IP adresi olmalıdır. Kendi IP adresinizi görüyorsanız istek proxy'den geçmiyordur; özel proxy anahtarının açık olduğunu ve Use proxy for alanında HTTPS'in seçili olduğunu kontrol edin.
İsteğin ayrıntılarını görmek için Postman Console penceresini açabilirsiniz (alt çubuktaki Console düğmesi). Konsol, gönderilen başlıkları, yanıt süresini ve varsa bağlantı hatasının tam metnini gösterir. Hata ayıklarken ilk bakılacak yer burasıdır.
Aynı kontrolü komut satırından da yapabilirsiniz. Postman'de bir istek çalışmıyorsa aynı proxy ile cURL denemesi, sorunun Postman ayarlarında mı yoksa proxy'de mi olduğunu hızla gösterir:
curl -x "http://kullanici:parola@pr.proxynet.io:8000" https://httpbin.org/ipcURL çalışıyor, Postman çalışmıyorsa sorun Postman ayarlarındadır. cURL de çalışmıyorsa proxy bilgilerini veya ağınızı kontrol edin. cURL'ün proxy seçenekleri cURL ile Proxy Nasıl Kullanılır? yazımızda.
Bypass listesi ne işe yarar?
Proxy bypass alanı, proxy'ye gönderilmeyecek adresleri virgülle ayrılmış olarak alır. Bu alan en çok şu durumlarda gerekir:
- Yerel geliştirme sunucusu.
localhost:3000üzerinde çalışan API'nizi test ederken isteğin proxy'ye gitmesi anlamsızdır; proxy yerel ağınızdaki adrese zaten ulaşamaz. - Şirket içi servisler.
10.0.0.0bloğundaki veya.localuzantılı iç servisler. - Kimlik doğrulama sunucuları. Token aldığınız servisin IP kısıtlaması yoksa ve yalnızca asıl API isteğinin proxy'den gitmesi gerekiyorsa.
Örnek değer:
localhost,127.0.0.1,*.sirket.local,10.0.0.5Bypass listesine eklemeyi unuttuğunuz yerel adresler, proxy açıkken zaman aşımına uğrar ya da proxy'nin döndürdüğü bir hata sayfasıyla sonuçlanır.
Konum bazlı API yanıtlarını test etmek
Postman'de proxy kullanmanın en yaygın nedenlerinden biri, bir API'nin farklı ülkelerden gelen isteklere nasıl yanıt verdiğini görmektir. Bir fiyatlandırma servisi para birimini, bir içerik API'si dil ve katalog içeriğini, bir ödeme servisi desteklenen yöntemleri isteğin geldiği ülkeye göre değiştirebilir.
Bu testlerde izlenecek düzen:
- Her ülke için ayrı bir proxy bilgisi hazırlayın.
- Postman'de her ülke için bir Environment oluşturup beklenen para birimi, dil gibi değerleri değişken olarak kaydedin.
- Proxy ayarını test edilecek ülkenin çıkış noktasına göre değiştirin.
- İsteğin Tests sekmesine beklenen değeri kontrol eden bir doğrulama yazın.
pm.test("Para birimi ülkeye uygun", () => {
const body = pm.response.json();
pm.expect(body.currency).to.eql(pm.environment.get("beklenenParaBirimi"));
});Postman'in proxy ayarı ortam (environment) bazında değil uygulama bazındadır. Ülke değiştirirken Settings ekranındaki proxy adresini de değiştirmeniz gerekir. Çok sayıda ülkeyi düzenli test ediyorsanız bu işi aşağıdaki Newman yöntemiyle otomatikleştirmek daha pratiktir. Yerelleştirme testlerinin kurgusu yerelleştirme çözümü sayfamızda, genel uygulama testi senaryoları ise uygulama testi çözümü sayfamızda.
Her testte farklı bir çıkış IP'si gerekiyorsa, adresi değiştirmeden her bağlantıda yeni bir IP veren Rotating Proxy kullanılabilir. Aynı IP'nin test boyunca sabit kalması gerekiyorsa sabit bir adres tercih edin.
Sık hatalar ve çözümleri
| Hata veya belirti | Olası neden | Çözüm |
|---|---|---|
407 Proxy Authentication Required | Kullanıcı adı veya şifre yanlış, IP whitelist'te değil | Proxy auth bilgilerini yeniden girin; whitelist'teki IP'yi kontrol edin |
tunneling socket could not be established | Proxy tünel kurulumunu reddetti; çoğunlukla 407 veya yanlış port | Konsoldaki statusCode değerine bakın; port ve protokolü kontrol edin |
ECONNREFUSED | Adres veya port yanlış, proxy bu portta dinlemiyor | Sunucu adını ve portu panelle karşılaştırın |
ETIMEDOUT veya uzun bekleme | Ağınızdaki firewall proxy portunu engelliyor | Aynı bağlantıyı cURL ile deneyin; ağ yöneticinizle görüşün |
unable to get local issuer certificate | Kurumsal proxy TLS denetimi yapıyor | Şirketin CA sertifikasını Settings > Certificates bölümüne ekleyin |
| Dönen IP kendi adresiniz | Özel proxy kapalı veya HTTPS için etkin değil | Anahtarı ve Use proxy for seçimini kontrol edin |
localhost istekleri zaman aşımına uğruyor | Yerel adres proxy'ye gönderiliyor | Bypass listesine localhost,127.0.0.1 ekleyin |
SSL doğrulaması hakkında bir not. İnternette sık önerilen çözüm, Settings ekranındaki SSL certificate verification seçeneğini kapatmaktır. Normal bir forward proxy HTTPS trafiğini CONNECT tüneliyle taşır ve sertifikalara dokunmaz; bu yüzden standart bir proxy kullanırken sertifika hatası almamanız gerekir. Hata alıyorsanız aradaki bir sistem trafiği çözüyordur. Doğrulamayı kapatmak yerine o sistemin sertifikasını eklemek, gerçek bir güvenlik sorununu gözden kaçırmanızı önler.
HTTP durum kodlarının genel anlamlarını ve yeniden deneme mantığını Scraping'de HTTP Hata Kodları yazımızda anlattık.
Newman ile komut satırında proxy
Postman koleksiyonlarını CI hattında veya zamanlanmış görevlerde çalıştırmak için kullanılan Newman, masaüstü uygulamasının proxy ayarlarını okumaz. Newman'ın README belgesi, proxy için standart ortam değişkenlerinin kullanıldığını belirtir: HTTP_PROXY, HTTPS_PROXY ve NO_PROXY.
Linux ve macOS'ta:
export HTTPS_PROXY="http://kullanici:parola@pr.proxynet.io:8000"
export HTTP_PROXY="$HTTPS_PROXY"
export NO_PROXY="localhost,127.0.0.1"
newman run koleksiyon.json -e ortam-de.jsonWindows PowerShell'de:
$env:HTTPS_PROXY = "http://kullanici:parola@pr.proxynet.io:8000"
$env:HTTP_PROXY = $env:HTTPS_PROXY
$env:NO_PROXY = "localhost,127.0.0.1"
newman run koleksiyon.json -e ortam-de.jsonOrtam değişkenindeki adres bir URL olduğu için şifrede @, : veya / gibi karakterler varsa kodlanmalıdır: @ karakteri %40 olarak yazılır.
Farklı ülkeleri sırayla test eden bir betik, her çalıştırmada ortam değişkenini ve Postman ortam dosyasını değiştirerek aynı koleksiyonu çalıştırabilir:
#!/usr/bin/env bash
set -euo pipefail
for ulke in de fr tr; do
export HTTPS_PROXY="http://kullanici-${ulke}:parola@pr.proxynet.io:8000"
newman run koleksiyon.json -e "ortam-${ulke}.json" --reporters cli,junit \
--reporter-junit-export "sonuc-${ulke}.xml"
doneBuradaki kullanici-${ulke} biçimi yalnızca örnektir; ülke seçiminin kullanıcı adıyla mı, farklı portla mı yoksa panelden mi yapıldığı sağlayıcıya göre değişir. Doğru biçimi müşteri panelinizde bulabilirsiniz. Postman'in yeni komut satırı aracı Postman CLI kullanıyorsanız proxy ayarını o aracın kendi belgesinden kontrol edin.
Kullanım senaryoları
- Konum bazlı API davranışını test eden ekip: Farklı ülkelerin çıkış noktalarıyla aynı koleksiyonu çalıştırır. Web API'leri için HTTPS Proxy yeterlidir.
- IP kısıtlamalı bir entegrasyonu doğrulayan geliştirici: Karşı taraf yalnızca belirli bir sabit IP'den gelen isteklere izin veriyorsa, Postman'i o IP'ye sahip proxy'den geçirerek entegrasyonu canlıya almadan test eder.
- Kurumsal ağdan çalışan kullanıcı: Şirket internete yalnızca proxy üzerinden çıkmaya izin veriyorsa sistem proxy'si seçeneği yeterlidir; TLS denetimi varsa şirket sertifikası eklenir.
- Rate limit davranışını inceleyen QA ekibi: Bir API'nin aynı IP'den gelen art arda isteklere nasıl yanıt verdiğini ve
Retry-Afterbaşlığını doğru döndürüp döndürmediğini kontrol eder.
Karar rehberi
| Durumunuz | Öneri |
|---|---|
| Bilgisayarın tamamı zaten proxy'den çıkıyor | Use the system proxy |
| Yalnızca Postman isteklerinin proxy'den geçmesi | Use custom proxy configuration |
| Web API'leri test ediyorsunuz | HTTP protokolü |
| SOCKS5 proxy kullanıyorsunuz | SOCKS5H (uzak DNS) |
| Dinamik IP'li ev bağlantısı | Proxy auth ile kullanıcı adı ve şifre |
| Yerel sunucu da test ediliyor | Bypass listesine localhost,127.0.0.1 |
| CI hattında koleksiyon çalıştırma | Newman + HTTPS_PROXY ortam değişkeni |
| Sertifika hatası alıyorsunuz | Doğrulamayı kapatmak yerine CA sertifikasını eklemek |
Sık sorulan sorular
Postman'in web sürümünde proxy ayarı var mı?
Postman belgesine göre web sürümünde Postman'in kendi varsayılan proxy ayarı yapılandırılamaz; istek göndermek için sistem proxy'si veya özel proxy seçenekleri kullanılır. Ayarların tamamını tek ekranda görmek ve kontrol etmek için masaüstü uygulaması daha pratiktir.
Proxy yalnızca bir koleksiyon için tanımlanabilir mi?
Masaüstü uygulamasında proxy ayarı uygulama genelidir, koleksiyon veya ortam bazında tanımlanmaz. Koleksiyon bazında farklı proxy gerekiyorsa Newman ile her çalıştırmada farklı ortam değişkeni vermek en temiz yoldur.
Proxy açıkken Postman'in kendi senkronizasyonu etkilenir mi?
Postman'in hesabınızla eşitleme yaptığı kendi trafiği ile gönderdiğiniz API istekleri için ayarlar ayrı tutulur. Bu yazıda anlatılan ayar, gönderdiğiniz isteklere yöneliktir.
Şifremde özel karakter var, adrese mi yazmalıyım?
Postman masaüstü uygulamasında şifreyi Password alanına kodlamadan yazın. Newman'da ise şifre ortam değişkenindeki URL'nin içine yazıldığı için @, : ve / karakterleri kodlanmalıdır.
Proxy ile istekler neden yavaşladı?
Araya bir durak eklendiği için her istekte ek gecikme olur; proxy'nin çıkış noktası test ettiğiniz API'den uzaksa bu fark belirginleşir. Postman'deki yanıt süresi göstergesi ve konsol, sürenin bağlantıda mı yoksa sunucu yanıtında mı geçtiğini gösterir.
SOCKS5 mi HTTP mi seçmeliyim?
Postman'den yalnızca HTTP ve HTTPS API istekleri gönderiyorsanız HTTP proxy yeterli ve en sorunsuz seçenektir. Elinizde yalnızca SOCKS5 proxy varsa SOCKS5H seçeneğini kullanın. İki protokolün farkı SOCKS ve HTTP Proxy Farkı yazımızda.
Özetle
Postman'de proxy, Settings > Proxy sekmesinden ya işletim sisteminin ayarı kullanılarak ya da Postman'e özel bir yapılandırmayla tanımlanır. Özel proxy için sunucu, port ve protokol girilir; kimlik doğrulama gerekiyorsa şifre kodlanmadan ayrı alana yazılır. Ayarı https://httpbin.org/ip isteğiyle doğrulayın, yerel adresleri bypass listesine ekleyin ve CI hattında Newman için HTTPS_PROXY ortam değişkenini kullanın. Proxy'nin genel çalışma mantığı için Proxy Sunucu Nedir ve Nasıl Çalışır? yazımıza, API testleriniz için uygun paketlere proxy hizmetlerimizde göz atabilirsiniz.




