Bu PHP cURL isteği hangi proxy'yi kullandı?
Yapılandırılmış proxy'yi, bağlanan eşi ve hedefin gördüğü genel çıkışı birbirinden ayırın.
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.
| Soru | Nereye 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.