Rehber · Güncelleme 2026-11-03

Rotating Proxy IP Değişmiyor: Beş Neden ve Düzeltme

Rotating proxy IP değişmiyor mu? Keep-alive, açık kalmış oturum parametresi, devreye girmeyen proxy, dar filtre ve çerez tanıması: belirti, test ve düzeltme.

Rotating Proxy IP Değişmiyor: Beş Neden ve Düzeltme

Rotating proxy IP değişmiyor: önce ölçümün kendisini doğrulayın

Rotating proxy IP değişmiyor dediğinizde çoğu zaman gateway bozuk değildir; ya istekler aynı bağlantıdan gidiyordur, ya kullanıcı adında bir oturum parametresi açık kalmıştır, ya da proxy hiç devreye girmemiştir. Bu üç durum birbirinden farklı belirti verir ve her birinin düzeltmesi tek satırdır. Düzeltmeye geçmeden önce ölçümün doğru olduğundan emin olmak gerekir, çünkü yanlış kurulmuş bir test de her seferinde aynı IP’yi gösterir.

Ölçüm için istemci IP’sini düz metin döndüren bir uç nokta kullanın. Aynı uç noktayı beş kez, aralarında birkaç saniye bırakarak isteyin ve dönen adresleri bir kümeye atın. Her istekte Cache-Control: no-cache başlığı gönderin, adresin sonuna değişen bir sorgu parametresi ekleyin ve yanıtın bir CDN önbelleğinden gelmediğini kontrol edin; bazı IP gösteren sayfalar birkaç saniye önbelleklenir ve beş istek boyunca aynı eski adresi döndürür. Küme beş elemanlıysa rotasyon çalışıyordur, bir elemanlıysa aşağıdaki nedenlere sırayla bakılır.

İkinci kontrol, testi iki farklı araçla tekrarlamaktır: biri kendi kodunuz, diğeri komut satırından curl. curl her çağrıda yeni bir TCP bağlantısı açar ve hiçbir oturum durumu taşımaz; curl ile IP değişip kodunuzla değişmiyorsa sorun gateway’de değil, istemcinizin bağlantı yönetimindedir. İki araçta da değişmiyorsa oturum parametresine ve ürün ayarına bakılır.

Neden 1: Bağlantı yeniden kullanımı (keep-alive)

Gateway çıkış IP’sini isteğe değil bağlantıya göre seçer: proxy’ye açılan her yeni TCP bağlantısı havuzdan yeni bir adres alır, aynı bağlantı üzerinden art arda gönderilen istekler ise aynı çıkışta kalır. Modern HTTP istemcilerinin tamamı bağlantıyı yeniden kullanır. Python’da requests.Session, Node’da undici ve keep-alive açık agent’lar, Go’da varsayılan http.Transport, Java’da HttpClient bağlantı havuzu tutar. Bu yüzden tek bir oturum nesnesiyle gönderilen bin istek, bağlantı kapanana kadar tek IP’den çıkabilir.

Belirtisi tanıdıktır: IP uzun süre sabit kalır, sonra görünür bir sebep olmadan değişir. Değişim anı bağlantının kapandığı andır: sunucu taraflı boşta kalma süresi dolmuş ya da istemci havuzu temizlemiştir. Hedef sitede 429 ya da engel gören ekipler bunu rotasyonun bozulduğu sanır, oysa rotasyon hiç başlamamıştır.

Düzeltme istemciye göre değişir ama mantık aynıdır: her istekte yeni bağlantı açtırmak. Python’da requests.get çağrısını Session dışında kullanmak ya da Connection: close başlığı göndermek yeterlidir. Node’da undici ile her istek için yeni ProxyAgent üretilir ya da pipelining sıfırlanıp keepAliveTimeout düşürülür; axios’ta agent keepAlive: false ile kurulur. Go’da Transport üzerinde DisableKeepAlives açılır. Tarayıcı tabanlı araçlarda durum daha katıdır: HTTP/2 tek bağlantıda onlarca isteği çoklar, bu yüzden bir sayfanın bütün alt istekleri doğal olarak aynı IP’den çıkar. Sayfa başına farklı IP isteniyorsa her sayfa için yeni tarayıcı bağlamı açılır. Kod düzeyinde ayrıntı Node.js ve Python rehberlerinde var.

Yeni bağlantı açmanın bir bedeli vardır: her istek için TCP ve proxy el sıkışması, HTTPS hedeflerde ayrıca CONNECT tüneli ve TLS turu yeniden kurulur. İstek başına gecikme büyür. Bu bedel, her istekte yeni IP gereken işlerde kabul edilir; aynı hedefte sıralı adımlar yürüten işlerde ise bağlantıyı korumak ve IP’nin sabit kalmasını kazanç saymak daha doğrudur.

Neden 2: Oturum parametresi açık kalmış

RotatingProxy kataloğundaki IPv4 residential ve mobile ürünlerde sticky ve rotating oturum seçenekleri birlikte sunulur; IPv6 ürünlerde rotasyon oturum yapılandırmalıdır. Sticky modda gateway, kullanıcı adına eklenen bir oturum kimliğini görür ve o kimlikle gelen bütün istekleri panelde tanımlı süre boyunca aynı çıkışa bağlar. Bu parametre bir kez yazılıp unutulduğunda, kodunuz bağlantıyı kapatsa bile IP değişmez; her yeni bağlantı aynı oturum kimliğini taşıdığı için aynı adrese düşer.

Belirtisi ilk nedenden farklıdır: IP, bağlantı açılıp kapansa da sabit kalır ve değişim anı panelde yazan sticky süresinin dolduğu ana denk gelir. Paralel çalışan iki süreç de aynı IP’yi görüyorsa oturum kimliği ortak demektir; keep-alive iki ayrı süreçte aynı adresi üretmez.

Önce proxy adresinizi ayrıştırın ve kullanıcı adı alanını yazdırın: içinde session, sid ya da benzeri bir anahtar varsa oturum modu açıktır. İstek başına rotasyon için parametreyi kaldırın; bazı işler için sticky, bazıları için rotating gerekiyorsa iki ayrı proxy adresi tanımlayın ve her işi kendi adresiyle çalıştırın. Aynı anda birden fazla sabit çıkış gerekiyorsa her iş için farklı bir oturum kimliği üretin; kimliği rastgele üretmek, iki işin yanlışlıkla aynı çıkışa düşmesini önler. Parametrenin sözdizimi ürüne göre değişir, panelde yazan biçimi kullanın; başka bir sağlayıcının örneğinden kopyalanan sözdizimi sessizce yok sayılabilir ya da beklenmedik biçimde yorumlanabilir.

Neden 3: Proxy hiç devreye girmemiş

Gördüğünüz adres her istekte aynıysa ve bu adres kendi internet bağlantınızın ya da sunucunuzun adresiyse, istekler proxy’den geçmiyordur. En sık karşılaşılan durum ortam değişkenleridir: HTTP_PROXY yalnız http hedefleri kapsar, HTTPS_PROXY ayrıca tanımlanmamışsa https istekleri doğrudan çıkar. NO_PROXY içinde hedef alan adı ya da joker bir girdi varsa proxy atlanır. Bazı istemciler ortam değişkenlerini hiç okumaz ve proxy’nin kodda açıkça verilmesini bekler.

İkinci durum yanlış katmana yazılan ayardır. Tarayıcıda uzantı ya da sistem ayarı ile tanımlanan proxy, komut satırından açılan bir başsız tarayıcı örneğine uygulanmaz. Bir kütüphanenin proxy seçeneği ile aynı anda verilen agent nesnesi çakışır ve biri yok sayılır. Konteyner içindeki uygulama, ana makinenin proxy ayarını görmez. WebSocket bağlantıları bazı istemcilerde HTTP proxy ayarını kullanmaz ve doğrudan çıkar.

Proxy’yi tamamen kapatıp aynı IP uç noktasını bir kez isteyin. Dönen adres, proxy açıkken gördüğünüz adresle aynıysa proxy devrede değildir; farklıysa proxy çalışıyor ve sorun ilk iki nedendedir. Proxy devrede değilken yeniden deneme döngüsü kurmak hem kendi adresinizi hedefe gösterir hem de kotanızdan hiçbir şey düşmediği için faturada fark edilmez; bu yüzden kontrol üretime geçmeden yapılır.

Neden 4: Filtre dar, havuz küçük, aynı adres geri geliyor

IP değişiyor ama kısa aralıklarla aynı adresler tekrar geliyorsa rotasyon çalışıyordur; sorun havuzun daraltılmış olmasıdır. Ülke filtresi tek ülkeye, hatta tek bölgeye indirildiğinde gateway’in seçebileceği adres sayısı düşer ve ardışık isteklerde tekrar olasılığı yükselir. Rotating IPv4 ürünlerinde kapsam 180’den fazla ülkedir; filtreyi genişletmek tekrar oranını doğrudan düşürür. Dar filtre bir işin gereğiyse (yalnız Türkiye sonuçları gibi) tekrarı kabul edip istekler arasına süre koymak daha doğru bir çözümdür.

IPv6 ürünlerinde durum farklıdır: rotasyon port başına yapılandırılır ve aynı port üzerinden giden istekler, ayarlanan oturum düzenine göre bir süre aynı adreste kalabilir. Beş portluk bir pakette beş bağımsız rotasyon kanalınız vardır; işleri portlara dağıtmak hem eşzamanlılığı hem de adres çeşitliliğini artırır. Bir portun ayarı rotasyon yerine oturum koruma olarak kaldıysa o porttan çıkan her istek aynı adresi gösterir, panelde port ayarını kontrol edin.

Tekrar oranını ölçmek için yüz istek gönderip benzersiz adres sayısını sayın. Sayı yüze yakınsa havuz geniş, yirmilerdeyse filtre dar ya da oturum düzeni devrededir. Bu sayı, rotasyon aralığı rehberinde anlatılan istek başına ya da süreli rotasyon kararını verirken de temel girdidir.

Neden 5: IP değişiyor, hedef yine de sizi tanıyor

Bazı ekipler IP’nin değişmediğini hedef sitenin davranışından çıkarır: adres değişse de aynı engel, aynı captcha ya da aynı kişiselleştirilmiş sayfa gelir. Bu durumda rotasyon çalışıyordur; hedef sizi istekle birlikte giden kimlik işaretlerinden tanır; adres bu işaretlerden yalnız biridir. En yaygın işaret çerezdir: oturum nesnesi ilk yanıtta aldığı çerezi sonraki her isteğe ekler ve hedef, adres değişse de aynı ziyaretçiyi görür. Tarayıcıda buna yerel depolama ve önbellek de eklenir.

İkinci işaret başlık setidir: aynı User-Agent, aynı dil sırası, aynı Accept başlıkları ve adresin ülkesiyle uyuşmayan bir dil tercihi, her istekte aynı imzayı oluşturur. Üçüncü işaret tempodur; saniyede sabit sayıda, eşit aralıklı istek tek bir kaynağın imzasıdır ve adres sayısından bağımsız olarak yakalanır.

Çözüm, kimliği IP ile birlikte döndürmektir: her yeni çıkış için temiz bir çerez kavanozu, adresin ülkesine uygun dil başlığı ve değişken aralık. Tam tersi de geçerlidir: giriş yapılmış bir hesapta adımlar arasında IP değişiyorsa hedef bunu şüpheli bulur; bu işlerde sticky oturum kullanılır ve IP’nin sabit kalması istenen davranıştır. Hangi işin hangi düzeni istediği rotasyon aralığı rehberinde senaryo bazında anlatılıyor.

Beş dakikalık teşhis sırası

Adım 1, proxy kapalı: IP uç noktasını bir kez isteyin ve kendi adresinizi not edin. Adım 2, proxy açık, curl ile beş istek: beş farklı adres geliyorsa gateway ve ürün ayarı sağlamdır, sorun kodunuzdadır; adım 4’e geçin. Adım 3, curl’de de tek adres: proxy adresinin kullanıcı adı alanında oturum parametresi var mı bakın, varsa kaldırıp tekrarlayın; yoksa panelde ürünün ve portun rotasyon ayarını kontrol edin ve değişmiyorsa desteğe bu beş isteğin saat damgalarıyla yazın.

Adım 4, kendi kodunuzla beş istek, bağlantı yeniden kullanımı kapalı: adres değişiyorsa keep-alive tek nedendi; kararınız her istekte yeni bağlantı mı yoksa IP’nin sabit kalmasını kabullenmek mi olacak. Adım 5, adresler değişiyor ama hedef davranışı değişmiyor: çerez kavanozunu temizleyip başlıkları ve tempoyu gözden geçirin. Her adımın çıktısını tek satır olarak kaydedin ve destek talebine bu beş satırı ekleyin.

Üretimde bu teşhisi tekrarlamamak için küçük bir bekçi ekleyin: her yüz istekte bir, IP uç noktasına tek istek gönderip adresi günlüğe yazın. Ardışık on kayıt aynı adresi gösteriyorsa uyarı üretin. Bu bekçi hem keep-alive’ın hem de yanlışlıkla açık kalan oturum parametresinin ilk belirtisini, hedef sizi engellemeden önce yakalar.

Sık sorulan sorular

Rotating proxy her istekte IP değiştirmeli mi? Hayır. Gateway, adresi bağlantı ya da oturum bazında seçer; her istekte farklı adres görmek için istemcinin her istekte yeni bağlantı açması ve oturum parametresinin kapalı olması gerekir. Rotating IPv4 datacenter üründe rotasyon istek başına ya da oturum bazlı yapılandırılır; hangisinin işinize uyduğu rotasyon aralığı rehberinde anlatılıyor.

IP ne kadar süre sabit kalır? Keep-alive’da bağlantı kapanana kadar; sticky oturumda panelde tanımlı süre boyunca. Süre ürüne göre değişir ve bu yazıda rakam verilmez; ürün sayfasındaki ya da paneldeki değeri esas alın.

Tarayıcı ile her sayfada farklı IP alabilir miyim? Tek tarayıcı örneği HTTP/2 üzerinden istekleri tek bağlantıda çoklar, bu yüzden bir sayfanın alt istekleri aynı IP’den çıkar. Sayfa başına farklı adres için her sayfayı yeni bir tarayıcı bağlamında açın ya da sayfalar arasında bağlamı kapatıp yeniden kurun.

Aynı IP sık tekrar ediyor, bu hata mı? Değildir; dar ülke filtresi ya da oturum düzeni tekrar olasılığını artırır. Yüz istekte benzersiz adres sayısını ölçün, filtreyi genişletin ya da istekler arasına süre koyun. Tekrar, rotasyonun çalışmadığı anlamına gelmez.

Destek ekibine ne göndermeliyim? Beş isteğin saat damgası, kullandığınız proxy adresinin kullanıcı adı alanı (şifre olmadan), kullanılan istemci ve keep-alive ayarı, curl ile alınan sonuç. Bu dört bilgi, sorunun gateway’de mi istemcide mi olduğunu ilk cevapta ayırmaya yeter.

İlgili ürünler

İç bağlantılar