HTTPXහි proxy සහ mounts යොදා ප්රොක්සි මාර්ග තේරීම
HTTPX proxy සහ transport mounts නිවැරදි URL scheme එක, පැහැදිලි පරිසර හැසිරීම සහ වෙන්වූ සම්බන්ධතා/කියවීමේ සීමා සමඟ භාවිත කරන්න.
එක් අන්ත ලක්ෂ්යයක් සේවාලාභී ඉල්ලීම් හසුරුවන්නේ නම් proxy= භාවිත කරන්න. ගමනාන්ත URL scheme අනුව වෙනස් මාර්ග අවශ්ය නම් mounts= භාවිත කරන්න. උදාහරණ මේ HTTPX අතුරුමුහුණත් භාවිත කරයි; පැරණි proxies= API ඇති ව්යාපෘතියකට එම අනුවාදයට ගැළපෙන සැකසුම අවශ්යය.
එක් අන්ත ලක්ෂ්යයක්
import httpx
timeout = httpx.Timeout(15.0, connect=5.0)
with httpx.Client(
proxy="http://127.0.0.1:8080",
trust_env=False,
timeout=timeout,
) as client:
response = client.get("https://example.com/")
response.raise_for_status()
print(response.status_code)
දේශීය ලිස්නරය ක්රියාත්මක HTTP ප්රොක්සියකින් මාරු කරන්න. HTTP ප්රොක්සි ලැයිස්තුවේ තේරීමත් ඔබේ ගමනාන්තය සමඟ පරීක්ෂා කළ යුතුය. HTTPS ඉලක්කයකට CONNECT හරහා මෙම http:// අන්ත ලක්ෂ්යය භාවිත කළ හැකිය. URL scheme එක https:// කිරීම ප්රොක්සිය වෙතම TLS ඉල්ලන අතර ලිස්නරය සහ සේවාලාභියා දෙකම එයට සහාය දිය යුතුය.
ගමනාන්ත URL scheme අනුව වෙන්වූ මාර්ග
import httpx
mounts = {
"http://": httpx.HTTPTransport(
proxy="http://127.0.0.1:8080",
trust_env=False,
),
"https://": httpx.HTTPTransport(
proxy="http://127.0.0.1:8081",
trust_env=False,
),
}
with httpx.Client(
mounts=mounts,
trust_env=False,
timeout=httpx.Timeout(15.0, connect=5.0),
) as client:
response = client.get("https://example.com/")
response.raise_for_status()
print(response.status_code)
Mount යතුරු ඉලක්ක URL සමඟ ගැළපේ. HTTP ඉලක්ක මෙහි පෝට් 8080 ද HTTPS ඉලක්ක 8081 ද තෝරයි. ප්රොක්සි අගය ලිස්නරයේම ප්රොටෝකෝලය විස්තර කරන නිසා HTTPS mount තුළ http:// ප්රොක්සියක් තිබීම නිවැරදිය. ඔබේ අන්ත ලක්ෂ්ය දමා ගමනාන්ත ක්රම දෙකම පරීක්ෂා කරන්න.
ක්රම දෙකම සේවාලාභියා හා දී ඇති transports තුළ trust_env=False සකසයි. එසේ නොවේ නම් HTTPX ප්රොක්සි සහ සහතික පරිසර විචල්ය පෙරනිමියෙන් කියවයි. ස්ථාපනය ඒවා මත රඳා පවතී නම් හඳුනාගැනීම ක්රියාත්මක තබන්න හෝ අවශ්ය මාර්ග සහ විශ්වාසය පැහැදිලිව සකසන්න. පෞද්ගලික විශ්වාසය සඳහා ඔබේ HTTPX අනුවාදය සහාය දෙන TLS context සහ CA සැකසුම භාවිත කර ගමනාන්ත සත්යාපනය ක්රියාත්මක තබන්න. HTTPS ප්රොක්සි විශ්වාසය ගමනාන්ත විශ්වාසයෙන් වෙන් විය හැකිය.
httpx.Timeout(15.0, connect=5.0) සම්බන්ධතා කාල සීමාව මාරු කර අනෙකුත් සැකසූ කොටස්වලට පෙරනිමි අගය දෙයි. කියවීම, ලිවීම සහ pool බලාසිටීමේ සීමා වෙන්ය; තත්පර පහළොව මුළු ගතවූ සැබෑ කාලයේ අවසන් සීමාව නොවේ. Pool timeout වෙනත් කාර්යයක් ලබාගත හැකි සම්බන්ධතා තබාගෙන ඇති බවත් අදහස් කළ හැකිය. ප්රොක්සිය ළඟාවිය නොහැකි බවට සාක්ෂියක් ලෙස සැලකීමට පෙර සේවාලාභීන් සහ streaming ප්රතිචාර නිවැරදිව වසන්න.