from urllib.request import ProxyHandler, build_opener

def make_proxy_opener(proxy_uri):
    return build_opener(ProxyHandler({
        "http": proxy_uri,
        "https": proxy_uri,
    }))

opener = make_proxy_opener("http://proxy.example.net:8080")
# Use opener.open(destination, timeout=10) for this route.

ይህ መንገድ የምርመራው ከሆነ የዚህን opener የራሱን open ዘዴ ይጥሩ። የምሳሌው HTTP መጨረሻ ነጥብ ከአገልግሎትዎ ወይም ለሕዝብ ምርመራዎች ከ HTTP ፕሮክሲ ዝርዝር ሊመጣ ይችላል። ቁራጩ ባለቤትነትን ያሳያል፤ ሙሉውን የማረጋገጫ ወይም የጤና ፖሊሲ አይገልጽም። ማንኛውንም ከመለያ ጋር የተያያዘ አስተናጋጅ ከታሰበው ደንበኛ ጋር ያያዙ።

urllib.request.install_opener() በኋላ በሞጁል ደረጃ ለሚደረጉ urlopen() ጥሪዎች የሚጠቀመውን የመላውን ሂደት ነባሪ ይቀይራል። ስለዚህ በፕሮክሲዎች ላይ የሚዞር አረጋጋጭ ያልተዛመዱ ጥያቄዎችን የመጨረሻ ነጥቡን እንዲጠቀሙ ሊያስቀር ይችላል። ለጊዜው መጫንና በማጽዳት ጊዜ መመለስ አሁንም በተጋራው ለውጥ ወቅት ተመሳሳይ ጊዜ ያላቸው ጥያቄዎች እንዲሮጡ ይፈቅዳል።

socket.setdefaulttimeout() በተመሳሳይ ሁኔታ በኋላ ለሚፈጠሩ ሶኬቶች ነባሪዎችን ይቀይራል። ጊዜ ገደቡ ለምርመራው ብቻ መሆን ሲኖርበት በክዋኔ ደረጃ ያለውን የጊዜ ገደብ ይጠቀሙ።

የምርመራ ምላሾችን ይዝጉ እና ውጤቶቻቸውን ግልጽ ያድርጉ፦ የ HTTP ስህተት ምላሽ በራሱ የሞተ የፕሮክሲ አድማጭ አይደለም። ሰማያዊ ያልሆነ urllib ምርመራ በአሲንክ አገልግሎት ውስጥ ጥቅም ላይ ከዋለ የሚዘገየውን ሥራ ወደ ተገቢ ሠራተኛ ያዛውሩ፤ ያ የአፈጻጸም ውሳኔ ዓለም-አቀፍ opener ለውጥን ለየብቻ አያደርገውም።

አንድ ምርመራ ያለውን ምልከታ ሌላ የአውታረ መረብ ፖሊሲ ከመተው መመለስ አለበት። የራሱ የደንበኛ ነገር እና የተወሰነ ክዋኔ ያንን ወሰን ግልጽ ያደርጋሉ።

ተዛማጅ ጽሑፎች