Bir web sitesi, HTTPS isteklerinizin geri kalanından farklı bir proxy'ye ihtiyaç duyar. Requests bu seçimi proxy sözlüğünün içinde ifade edebilir:

routes = {
    "https://reports.example": "http://reports-proxy.example:8080",
    "https": "http://default-proxy.example:8080",
}
response = requests.get(
    "https://reports.example/monthly",
    proxies=routes,
    timeout=(5, 20),
)
response.raise_for_status()

O hedef için ana bilgisayar adına özgü anahtar kazanır. Başka bir HTTPS ana bilgisayar adı, şemanın tamamı için geçerli girdiyi kullanır. Değerler proxy bağlantısını tanımlar, bu nedenle bir HTTPS hedefi doğru biçimde bir HTTP proxy URL'sine eşlenebilir. Bunlar proxy hesabı olmadan izin verilen genel site yolları olduğunda, HTTP proxy listesi bu değerler için adaylar sağlayabilir; her hedef kuralını açık tutun.

Kaynak URL'sini değil, ana bilgisayar adını eşleştirin

Requests 2.32.5'te belirli anahtar, hedefin şemasından ve ayrıştırılmış ana bilgisayar adından oluşturulur. Yolu, sorguyu veya bağlantı noktasını içermez.

Sözlük anahtarına /monthly eklemek, kuralı bu yolla sınırlamaz. Aynı şekilde https://reports.example:8443, bu seçicinin tanıdığı bağlantı noktasına özgü bir anahtar değildir. Ana bilgisayar adı kuralı, hedef URL başka bir bağlantı noktası kullandığında da geçerlidir.

Bu aramada joker karakter genişletmesi yoktur. reports.example için bir kural bir alt alan adını otomatik olarak kapsamaz. İlke yol, bağlantı noktası veya son ek eşleşmesi gerektirdiğinde bu basit sözlüğün dışında açık bir yönlendirme kararı kullanın.

Sıradaki yedeğin hangisi olduğunu bilin

Uygulama anahtarları şu sırayla denetler: scheme://hostname, scheme, all://hostname, ardından all. Bu nedenle şema geneli bir HTTPS girdisi, tüm şemalar için ana bilgisayar adı girdisinden önce gelir. Amaçlanan istisna buysa, tasarımınızda şemaya özgü ana bilgisayar adı kuralını ilk sıraya koyun.

Session'ınızın varsayılanları ve ortamdan türetilen ayarları nasıl birleştirdiğini de hesaba katın. Bu iki açık girdiyi istekle birlikte iletmek amaçlanan yollarını netleştirir, ancak diğer herhangi bir hedef şeması için ilke tanımlamaz.

Bir yönlendirme başka bir ana bilgisayar adı getirebilir ve proxy seçimi o yeni hedef için de önemlidir. Kuralı ilk sayfaya bağlı kalıcı bir yol olarak değil, istenen her URL hakkında bir karar olarak okuyun.

İlgili makaleler