Twisted ProxyAgent: ಸಾಮಾನ್ಯ HTTP ಗಾಗಿ Basic ದೃಢೀಕರಣ
ಬೈಟ್ ಮೌಲ್ಯಗಳ ವಿನಂತಿ ಹೆಡರ್ಗಳೊಂದಿಗೆ Twisted ProxyAgent ಮೂಲಕ ದೃಢೀಕರಿಸಿದ ಸಾಮಾನ್ಯ HTTP ವಿನಂತಿಯನ್ನು ಕಳುಹಿಸಿ.
ProxyAgent ತನಗೆ ನೀಡಿದ endpoint ಮೂಲಕ ಸಂಪರ್ಕಿಸುತ್ತದೆ. ಸಾಮಾನ್ಯ HTTP ವಿನಂತಿ ಮತ್ತು Basic ದೃಢೀಕರಣವನ್ನು ಸ್ವೀಕರಿಸುವ proxy ಗಾಗಿ, proxy ಲಾಗಿನ್ ಅನ್ನು ಆ ವಿನಂತಿಯ Proxy-Authorization ಹೆಡರ್ನಲ್ಲಿ ಇರಿಸಿ.
import base64
from twisted.internet.endpoints import TCP4ClientEndpoint
from twisted.web.client import ProxyAgent
from twisted.web.http_headers import Headers
endpoint = TCP4ClientEndpoint(reactor, 'proxy.example', 8080,
timeout=5)
agent = ProxyAgent(endpoint, reactor=reactor)
token = base64.b64encode(b'alice:REPLACE_WITH_PROXY_PASSWORD')
headers = Headers({b'Proxy-Authorization': [b'Basic ' + token]})
pending = agent.request(b'GET', b'http://example.com/', headers)ಈ ತುಣುಕು ಅಪ್ಲಿಕೇಶನ್ ಈಗಾಗಲೇ ತನ್ನ reactor ಅನ್ನು ಹೊಂದಿದೆ ಎಂದು ಊಹಿಸುತ್ತದೆ. ವಿಧಾನ, URI ಮತ್ತು ಉದಾಹರಣೆಯಲ್ಲಿ ತೋರಿಸಿದ ಹೆಡರ್ ಡೇಟಾ ಬೈಟ್ಗಳನ್ನು ಬಳಸುತ್ತವೆ. ನಿಜವಾದ ರುಜುವಾತುಗಳನ್ನು ಅಪ್ಲಿಕೇಶನ್ನ ರುಜುವಾತು ಮೂಲದಲ್ಲಿ ಇರಿಸಿ; ಪ್ಲೇಸ್ಹೋಲ್ಡರ್ ಹೆಡರ್ ಹೇಗೆ ನಿರ್ಮಾಣವಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ಮಾತ್ರ ತೋರಿಸುತ್ತದೆ. Base64 ಒಂದು ಎನ್ಕೋಡಿಂಗ್, ಆದ್ದರಿಂದ ಗೋಪ್ಯತೆ ಅದನ್ನು ಸಾಗಿಸುವ ಸಂಪರ್ಕವನ್ನು ಅವಲಂಬಿಸಿದೆ.
ಹಿಂತಿರುಗಿಸಿದ Deferred ಒಂದು response ಆಬ್ಜೆಕ್ಟ್ ನೀಡುತ್ತದೆ. ಆ ಆಬ್ಜೆಕ್ಟ್ ಸ್ವೀಕರಿಸುವುದು response body ಸಂಗ್ರಹಿಸುವುದಿಲ್ಲ; ದಾಖಲಿತ body-reading ಇಂಟರ್ಫೇಸ್ ಮೂಲಕ ಅದನ್ನು ಓದಿ ಮತ್ತು ಅಸಿಂಕ್ರೋನಸ್ ವೈಫಲ್ಯಗಳನ್ನು ನಿರ್ವಹಿಸಿ. endpoint ನ ಕಾಲಮಿತಿ ಸಂಪರ್ಕ ಸ್ಥಾಪನೆಯನ್ನು ಮಿತಿಗೊಳಿಸುತ್ತದೆ, ಸಂಪೂರ್ಣ response ಜೀವನಾವಧಿಯನ್ನು ಅಲ್ಲ.
ಉದಾಹರಣೆ ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ HTTP ಗಮ್ಯಸ್ಥಾನವನ್ನು ಬಳಸುತ್ತದೆ. ಕೇವಲ URI ಸ್ಕೀಮ್ ಬದಲಿಸುವುದರಿಂದ ಅದು HTTPS ಗಾಗಿ CONNECT ಮಾತುಕತೆಯನ್ನು ಸೇರಿಸುವುದಿಲ್ಲ.