Twisted ProxyAgent: Basiese verifikasie vir gewone HTTP
Stuur 'n geauthentiseerde gewone HTTP-versoek deur 'n Twisted ProxyAgent met byte-waardes in die versoekopskrifte.
ProxyAgent verbind via die endpoint wat aan hom gegee word. Vir 'n gewone HTTP-versoek en 'n proxy wat Basiese verifikasie aanvaar, sit die proxy-aanmelding in daardie versoek se Proxy-Authorization-opskrif.
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)Hierdie fragment neem aan dat die toepassing reeds sy reactor het. Die metode, URI en die opskrifdata in die voorbeeld gebruik bytes. Hou werklike geloofsbriewe in die toepassing se geloofsbriefbron; die plekhouer wys net hoe die opskrif gebou word. Base64 is 'n kodeermetode, so vertroulikheid hang af van die verbinding wat dit dra.
Die Deferred wat teruggegee word, lewer 'n response-objek. Om daardie objek te ontvang versamel nie die response-liggaam nie; lees dit deur die gedokumenteerde koppelvlak vir liggaamlees en hanteer asinchrone foute. Die endpoint se tydlimiet bepaal verbindingsvestiging, nie die volledige leeftyd van die respons nie.
Die voorbeeld gebruik doelbewus 'n HTTP-bestemming. Dit voeg nie 'n CONNECT-onderhandeling vir HTTPS by bloot deur die URI-skema te verander nie.