ಪ್ರಾಕ್ಸಿ ಹಿಂದೆ Requests ಪ್ರತಿಕ್ರಿಯೆ ವಿಕೃತವಾಗಿ ಕಾಣುತ್ತದೆಯೇ? Brotli ಬೆಂಬಲ ಪರಿಶೀಲಿಸಿ
ನಕಲಿಸಿದ Accept-Encoding:br ಹೋಸ್ಟ್ ಆದ Requests ಪರಿಸರದ ಡಿಕೋಡರ್ ಬೆಂಬಲವನ್ನು ಮೀರಬಹುದು.
ಲ್ಯಾಪ್ಟಾಪ್ ಮತ್ತು ಹೋಸ್ಟ್ ಆದ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಎರಡು ವಿಭಿನ್ನ ಪದರಗಳಲ್ಲಿ ಹೋಲಿಸಿ:
| ಪದರ | ಪ್ರಶ್ನೆ |
|---|---|
| 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 ಇಂಟರ್ಫೇಸ್ಗಳು ಬೆಂಬಲಿತ ಕೋಡಿಂಗ್ ಡಿಕೋಡ್ ಮಾಡುತ್ತವೆ, ಆದ್ದರಿಂದ ಹೆಡರ್ ಅದರ ಹೆಸರು ಹೇಳಿದ ಕಾರಣಕ್ಕೆ ಅವುಗಳ ಔಟ್ಪುಟ್ ಮತ್ತೆ ಡಿಕಂಪ್ರೆಸ್ ಮಾಡಬೇಡಿ.