ਲੈਪਟਾਪ ਅਤੇ ਹੋਸਟ ਕੀਤੀ ਪ੍ਰਕਿਰਿਆ ਦੀ ਦੋ ਵੱਖਰੀਆਂ ਪਰਤਾਂ ਵਿੱਚ ਤੁਲਨਾ ਕਰੋ:

ਪਰਤਸਵਾਲ
Content-Encodingਕੀ ਕਲਾਇੰਟ ਵਾਪਸ ਮਿਲੇ gzip/deflate/Brotli ਬਾਈਟਾਂ ਨੂੰ ਡੀਕੰਪ੍ਰੈਸ ਕਰ ਸਕਦਾ ਹੈ?
Charsetਡੀਕੰਪ੍ਰੈਸ ਹੋਈਆਂ ਬਾਈਟਾਂ ਟੈਕਸਟ ਕਿਵੇਂ ਬਣਦੀਆਂ ਹਨ?

Requests ਆਮ ਤੌਰ ਤੇ gzip/deflate ਸੰਭਾਲਦਾ ਹੈ; Brotli ਲਈ ਇੰਸਟਾਲ ਕੀਤੀ ਸਮਰਥਿਤ ਲਾਇਬ੍ਰੇਰੀ ਲੋੜੀਂਦੀ ਹੈ। ਹੱਥ ਨਾਲ ਕਾਪੀ ਕੀਤਾ Accept-Encoding br ਦਾ ਐਲਾਨ ਕਰ ਸਕਦਾ ਹੈ ਜਦੋਂ ਇਹ ਵਾਤਾਵਰਣ ਇਸਨੂੰ ਡੀਕੋਡ ਨਹੀਂ ਕਰ ਸਕਦਾ। UTF-8 ਟੈਕਸਟ ਚੋਣ Brotli ਨੂੰ ਡੀਕੰਪ੍ਰੈਸ ਨਹੀਂ ਕਰਦੀ।

ਜਦੋਂ ਜਾਣਬੁੱਝ ਕੇ ਗੱਲਬਾਤ ਸੀਮਿਤ ਕੀਤੀ ਜਾਂਦੀ ਹੈ:

response = session.get(
    url,
    proxies={"https": "http://proxy.example:8080"},
    headers={"Accept-Encoding": "gzip, deflate"},
    timeout=30,
)
response.raise_for_status()

ਮੌਜੂਦਾ Session, HTTPS URL ਅਤੇ ਲੋੜੀਂਦੇ ਹੈਡਰ/ਪ੍ਰਮਾਣਿਕਤਾ ਵਰਤੋ। ਦੋਵਾਂ ਮਸ਼ੀਨਾਂ ਤੇ ਜਾਣ ਵਾਲਾ Accept-Encoding, ਆਉਣ ਵਾਲਾ Content-Encoding ਅਤੇ ਪੈਕੇਜ ਸਹਾਇਤਾ ਦੀ ਤੁਲਨਾ ਕਰੋ; ਬਦਲਾਅ ਕਰਨ ਵਾਲਾ ਵਿਚੋਲਾ ਪੁਰਾਣਾ ਮੈਟਾਡੇਟਾ ਵੀ ਦੇ ਸਕਦਾ ਹੈ। ਵੱਖਰੀ ਜਨਤਕ ਪੰਨਾ ਤੁਲਨਾ ਉਸ ਥਾਂ ਆਪਣੇ ਪ੍ਰੌਕਸੀ URL ਲਈ HTTP ਪ੍ਰੌਕਸੀ ਸੂਚੀ ਵਰਤ ਸਕਦੀ ਹੈ ਜਿੱਥੇ ਜਨਤਕ ਵਿਚੋਲੇ ਮਨਜ਼ੂਰ ਹਨ, ਪਰ ਵਿਰਾਸਤੀ ਪ੍ਰੌਕਸੀ ਪ੍ਰਮਾਣ-ਪੱਤਰ, ਕਾਪੀ ਕੀਤੇ ਖਾਤਾ ਹੈਡਰ ਜਾਂ ਪ੍ਰਾਈਵੇਟ ਬਾਡੀ ਡੇਟਾ ਤੋਂ ਬਿਨਾਂ।

ਨਹੀਂ ਤਾਂ ਆਮ ਕਲਾਇੰਟ ਗੱਲਬਾਤ ਨੂੰ ਤਰਜੀਹ ਦਿਓ। Requests ਦੇ ਸੁਵਿਧਾਜਨਕ content/text ਇੰਟਰਫੇਸ ਸਮਰਥਿਤ ਕੋਡਿੰਗ ਡੀਕੋਡ ਕਰਦੇ ਹਨ, ਇਸ ਲਈ ਸਿਰਫ ਇਸ ਕਾਰਨ ਉਹਨਾਂ ਦਾ ਆਉਟਪੁੱਟ ਦੁਬਾਰਾ ਡੀਕੰਪ੍ਰੈਸ ਨਾ ਕਰੋ ਕਿ ਹੈਡਰ ਇਸਦਾ ਨਾਮ ਲੈਂਦਾ ਹੈ।

ਸੰਬੰਧਿਤ ਲੇਖ