Прокси сырсөздөрүндөгү атайын белгилер
@, кош чекит, кыйгач сызык жана # URL-ди бузбашы үчүн проксинин колдонуучу атын жана сырсөзүн өзүнчө коддоңуз.
Кирүү маалыматтары туура болсо да, @ же # бар сырсөз кол менен түзүлгөн прокси URL-ин бузушу мүмкүн. Бул белгилердин URL-де өз мааниси бар, ошондуктан кардар сырсөздүн бөлүгүн хост аты же фрагмент катары чечмелеши мүмкүн.
Кирүү маалыматтарынын эки талаасын өзүнчө коддоңуз
Бул мисал URL түзүмүнүн бөлгүчтөрүн сактап, колдонуучу аты менен сырсөздү гана коддойт:
from urllib.parse import quote
username = "user@team"
password = "p:a/ss#?"
proxy_url = (
"http://"
+ quote(username, safe="")
+ ":"
+ quote(password, safe="")
+ "@203.0.113.10:8080"
)
Чыныгы акыркы чекитиңизди жана кирүү маалыматыңызды колдонуңуз. Көрсөтүлгөн дарек — документтик мисал. Бош safe аргументи маанилүү: quote адатта кыйгач сызыкты өзгөртпөйт, бирок ушул кирүү талаасында аны коддоо керек.
Бүт прокси URL-ин коддобоңуз. Схема бөлгүчтөрүн жана кирүү маалыматтары менен хосттун ортосундагы @ белгисин коддоо сактагыңыз келген түзүмдү бузат. Коддолгон сырсөздү экинчи жолу коддоодон да качыңыз.
Жыйынтыкты Requests менен колдонуңуз
import requests
response = requests.get(
"https://example.com/",
proxies={"http": proxy_url, "https": proxy_url},
timeout=(5, 15),
)
response.raise_for_status()
Сурам дагы эле иштебесе, прокси кирүүнү четке кагып жатабы же кардар мурда талдоодо же туташууда иштебей калганбы — текшериңиз. 407 аутентификация талабы менен жараксыз URL — ар башка каталар.
HTTPX аутентификацияны бөлөк кармай алат
HTTPX Proxy объекти акыркы чекитти жана кирүү маалыматтарын өзүнчө аргументтер катары ала алат:
import httpx
proxy = httpx.Proxy(
"http://203.0.113.10:8080",
auth=("user@team", "p:a/ss#?"),
)
with httpx.Client(proxy=proxy, trust_env=False, timeout=15) as client:
response = client.get("https://example.com/")
response.raise_for_status()
Бул userinfo бөлүгүн өзүңүз түзүүдөн куткарат. Ал маалыматтарды прокси байланышынан көз карандысыз шифрлебейт жана бардык кызмат колдогон аутентификация ыкмасын тандабайт.
Акысыз тизме IP менен портту гана берсе, бул мисал демейки кирүү маалыматтарын бербейт. Оператор чындап эсеп бергенде гана аутентификацияны колдонуңуз. Кирүү маалыматтары бар URL-дерди орток журналдарга жана баштапкы файлдарга жазбаңыз.