Bir PHP cURL uygulamasında “proxy'yi al” üç farklı anlama gelebilir. Başka bir istek eklemeden önce hangi gözleme ihtiyacınız olduğuna karar verin.

SoruNereye bakılır
Uygulama hangi uç noktayı yapılandırdı?Tutamağa verilen yapılandırma
Bu aktarım için proxy kullanıldı mı?Desteklendiği yerlerde aktarım bilgisi
Web sitesi hangi genel adresi gördü?O hedefteki bir gözlem

Seçilen uç noktayı tutamağın veya istek nesnesinin yanında saklayın. curl_getinfo bir aktarım bilgisi arayüzüdür, daha önce atanan her CURLOPT değeri için genel bir alıcı değildir. Uygulama yapılandırmasını saklamak, curl_setopt çağrılarını yakalamaya çalışmaktan daha basittir.

Tamamlanan aktarımı inceleyin

Aktarımdan sonra bağlanan eş CURLINFO_PRIMARY_IP üzerinden erişilebilir. İlk bağlantı bir proxy'ye gittiğinde, bu eş web sitesinin adresi yerine proxy'nin adresi olabilir.

$peer = curl_getinfo($ch, CURLINFO_PRIMARY_IP);
$usedProxy = defined('CURLINFO_USED_PROXY')
    ? curl_getinfo($ch, constant('CURLINFO_USED_PROXY'))
    : null;

CURLINFO_USED_PROXY, 8.7.0 sürümünde libcurl'e eklendi ve uyumlu PHP derlemeleri tarafından sunulur. Sonucu proxy kullanımını bildirir, seçilen proxy'nin tam URL'sini değil. Sabit kullanılamıyorsa yukarıdaki null, gözlemin kullanılamadığı anlamına gelir; isteğin doğrudan gittiği anlamına gelmez.

Tutamak hâlâ söz konusu işlemi tanımlarken bu değerleri okuyun. Başarısız bir bağlantı yararlı bir eş adresi vermeyebilir ve açık bir proxy, geçerli bir istisna ile yine de atlatılabilir.

Bir IP denetim uç noktası üçüncü soruyu yanıtlar. Yanıtı proxy'nin arkasındaki bir çıkışı tanımlayabilir, oysa yapılandırılmış ana bilgisayar adı farklı bir girişe çözümlenir. Uygulamanın ayarlarında adreslerden biri diğeriyle değiştirilmemelidir.

İlgili makaleler