Ofis proksisi bir hesab istəyir. Onun arxasındakı sayt başqa hesab istəyir. Requests-in bu iki Basic girişi üçün ayrı giriş sahələri var: proksi URL-indəki etimad məlumatları və sorğunun auth arqumenti.

from urllib.parse import quote
import requests

proxy_url = (
    f"http://{quote(proxy_user, safe='')}:"
    f"{quote(proxy_password, safe='')}@proxy.example:8080"
)
response = requests.get(
    "https://reports.example/private/",
    proxies={"https": proxy_url},
    auth=(site_user, site_password),
    timeout=(5, 20),
)
response.raise_for_status()

Dörd hesab dəyişəni tətbiqin etimad məlumatları konfiqurasiyasından gəlir. Proksi istifadəçi adını və parolunu ayrıca kodlaşdırmaq at işarəsi kimi simvolları URL ayırıcılarına çevirmədən qoruyur.

https lüğət açarı HTTPS təyinatı üçün bu marşrutu seçir. Onun dəyəri hələ də http:// ilə başlayır, çünki bu nümunə proksiyə çatmaq üçün istifadə olunan protokol budur.

Həmin HTTPS sorğusu üçün proksi girişi CONNECT mübadiləsinə aiddir. Sayt girişi isə qurulmuş tuneldən keçən sonrakı sorğuya aiddir. Adapterin proksi avtorizasiyasını öz URL-indən çıxarmasına imkan vermək onu aid olduğu hopda saxlayır; bu Basic halı üçün birləşdirilmiş autentifikasiya sinfi lazım deyil.

407 aralıq serverin çağırışını göstərir. Saytdan gələn 401 isə təyinatın çağırışını göstərir. Konfiqurasiya edilmiş iki hesabdan hansının diqqət tələb etdiyini müəyyən etmək üçün həmin cavabdan istifadə edin.

Əlaqəli məqalələr