session.proxies ወደ አንድ መጨረሻ ነጥብ እያመለከተ ስክሪፕቱ የshell ፕሮክሲ ከተጠቀመ፣ ተመሳሳይ መዝገበ ቃላትን እንደገና መመደብ ግጭቱን አይፈታም። Requests የአካባቢ ፕሮክሲ ቅንብሮችን ከSession ነባሪዎች በላይ ቅድሚያ ሰጥቶ ሊያዋህድ ይችላል። Session ከአካባቢው ቅንብሮችን መፈለግ ይቀጥል እንደሆነ ይምረጡ።

የአካባቢ ፍለጋን ያቆዩ፣ መንገዶችን በጥያቄው ይስጡ

ይህን Session/አካባቢ ግጭት ለማስቀረት Requests እንደሚመክረው ግልጽ እሴቶችን ለእያንዳንዱ ጥሪ ያስተላልፉ፦

proxies = {
    "http": "http://127.0.0.1:8080",
    "https": "http://127.0.0.1:8080",
}

with requests.Session() as session:
    response = session.get(
        "https://example.com/",
        proxies=proxies,
        timeout=(5, 15),
    )
    response.raise_for_status()

የአካባቢውን አዳማጭ በራስዎ ይተኩ። የሕዝብ HTTP ነጥቦችን ካነጻጸሩ፣ የSession ፖሊሲን ሳይቀይሩ ከHTTP ፕሮክሲ ዝርዝር እጩዎችን ይምረጡ። ይህ የተሰጡትን የማዛመጃ ግቤቶች ይቆጣጠራል፤ መተግበሪያው ለሚጠቀምባቸው ሌሎች ዕቅዶች ወይም አስተናጋጆችም በማሰብ ይምረጡ። አገልግሎት፣ IDE፣ ኮንቴነር ወይም CI አስኪያጅ ከተርሚናሉ የተለየ አካባቢ ሊወርስ ይችላል።

Session የራሱን ቅንብሮች እንዲቆጣጠር ያድርጉ

መተግበሪያው ከአካባቢው ፕሮክሲዎችን ማግኘት ከሌለበት፣ ፖሊሲውን ከመጀመሪያው ጥያቄ በፊት ያስቀምጡ፦

with requests.Session() as session:
    session.trust_env = False
    session.proxies = {
        "http": "http://127.0.0.1:8080",
        "https": "http://127.0.0.1:8080",
    }
    response = session.get(
        "https://example.com/",
        timeout=(5, 15),
    )
    response.raise_for_status()

trust_env=False ከአካባቢው ጋር በተያያዘ የምስክር ወረቀት ውቅርና በራስ ሰር netrc ማረጋገጥ ላይም ተጽዕኖ አለው። ከመምረጥዎ በፊት እነዚህን ጥገኞች ያስቡ። ለተፈቀደ የግል CA ጥቅል ግልጽ መንገድ ማስተላለፍ ይችላሉ፦

response = session.get(
    "https://example.com/",
    timeout=(5, 15),
    verify="/path/to/approved-ca-bundle.pem",
)

በእውነት የተፈቀደውን ጥቅል ይጠቀሙና ማረጋገጥን እንደበራ ያቆዩ። ሌሎች ሥራዎች እየተጠቀሙበት አንዱን ከመቀየር ይልቅ ለእያንዳንዱ የመንገድ ፖሊሲ ለየት ያለ Session ያድርጉ።

ሁለቱም ምርጫዎች የመተግበሪያውን መንገድ ካላብራሩ፣ የተገለለ Sessionን ከመተግበሪያው ጋር በተመሳሳይ ማስኬጃ አካባቢና ጉዳት በሌለው መድረሻ ያነጻጽሩ። ያሉ ፕሮክሲ ተለዋዋጮችን፣ የtrust_env እሴትና ጥሪው proxies ማስተላለፉን ይመዝግቡ፤ የመግቢያ መረጃ ያላቸውን URLዎች በጋራ መዝገቦች አያካትቱ። የተገለለ ስኬት ቀጣይ ምርመራን ወደ Session ግንባታ፣ አስማሚዎች፣ የተዘጋጁ ጥያቄዎች ፍሰቶች ወይም ብጁ ማጓጓዣዎች ያመራል። በcurl የአካባቢ ሙከራ የRequestsን የራሱን ውህደት ባህሪ አይወስንም።

ተዛማጅ ጽሑፎች