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 ප්රතිචාර වස්තුවක් ලබා දෙයි. එම වස්තුව ලබා ගැනීම ප්රතිචාර පබෝධය එක්රැස් නොකරයි; ලේඛනගත body-reading අතුරුමුහුණත හරහා එය කියවා අසමමුහුර්ත අසාර්ථකතා හසුරුවන්න. endpoint හි කාල සීමාව සම්බන්ධතාවය ස්ථාපිත කිරීම සීමා කරයි, සම්පූර්ණ ප්රතිචාර ආයුෂය නොවේ.
උදාහරණය උද්දේශයෙන්ම HTTP ගමනාන්තයක් භාවිතා කරයි. URI ක්රමය වෙනස් කිරීමෙන් පමණක් එය HTTPS සඳහා CONNECT සාකච්ඡාවක් එකතු නොකරයි.