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 ਦਾ ਆਪਣਾ ਮਿਲਾਉਣ ਵਿਹਾਰ ਤੈਅ ਨਹੀਂ ਕਰਦਾ।