Python Requests: прокси болон вэбсайтад тусдаа Basic нэвтрэлт
Проксийн Basic нэвтрэлтийг түүний URL-аар, харин очих сайтын Basic нэвтрэлтийг Requests-ийн auth аргументаар дамжуулна.
Оффисын прокси нэг бүртгэл шаарддаг. Түүний ард байгаа вэбсайт өөр бүртгэл шаарддаг. Requests эдгээр хоёр Basic нэвтрэлтэд тусдаа оруулгатай: проксийн URL дахь нэвтрэх мэдээлэл болон хүсэлтийн auth аргумент.
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()
Бүртгэлийн дөрвөн хувьсагч аппликейшны нэвтрэх мэдээллийн тохиргооноос ирдэг. Проксийн хэрэглэгчийн нэр болон нууц үгийг тусад нь кодлох нь at тэмдэг зэрэг тэмдэгтүүдийг URL тусгаарлагч болгон хувиргалгүй хадгална.
Толийн https түлхүүр HTTPS очих газарт энэ замыг сонгоно. Түүний утга одоо ч http://-оор эхэлдэг, учир нь энэ жишээ проксид хүрэхэд ашигладаг протокол нь тэр юм.
Тухайн HTTPS хүсэлтийн хувьд проксийн нэвтрэлт CONNECT солилцоонд хамаарна. Сайтын нэвтрэлт нь байгуулсан туннелээр дамжих дараагийн хүсэлтэд хамаарна. Адаптер проксийн зөвшөөрлийг өөрийн URL-аас гаргаж авахыг зөвшөөрвөл тэр нь холбогдох үсрэлт дээр үлддэг; энэ Basic тохиолдолд нэгдсэн баталгаажуулалтын класс шаардлагагүй.
407 нь зуучлагчийн сорилтыг илэрхийлнэ. Сайтаас ирсэн 401 нь очих газрын сорилтыг илэрхийлнэ. Тохируулсан хоёр бүртгэлийн алийг нь анхаарах ёстойг шийдэхийн тулд тэр хариуг ашиглана.