Python Requests માં Session પ્રોક્સી અને પર્યાવરણની અગ્રતા
session.proxies, પર્યાવરણ ચલ, વિનંતીદીઠ વિકલ્પ અને trust_env સાથે કામ કરે ત્યારે Python Requests નું રૂટિંગ અનુમાનયોગ્ય બનાવો.
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 રાખો.
બંને વિકલ્પ એપનો માર્ગ ન સમજાવે તો એ જ રનટાઇમ અને નિર્દોષ ગંતવ્ય પર અલગ Session ની એપ સાથે સરખામણી કરો. હાજર પ્રોક્સી ચલ, trust_env નું મૂલ્ય અને કૉલમાં proxies અપાય છે કે નહીં તે નોંધો; પ્રવેશ માહિતીવાળા URL વહેંચેલા લોગમાં ન રાખો. અલગ સફળતા પછીની તપાસને Session રચના, એડેપ્ટર, તૈયાર વિનંતી પ્રવાહ અથવા કસ્ટમ ટ્રાન્સપોર્ટ તરફ દોરે છે. curl પર્યાવરણ પરીક્ષણ Requests નું પોતાનું મર્જ વર્તન નક્કી કરતું નથી.