Twisted ProxyAgent: Basic-autentimine tavalise HTTP jaoks
Saatke autenditud tavaline HTTP-päring läbi Twisted ProxyAgenti baitväärtustega päringu päistega.
ProxyAgent ühendub talle antud endpointi kaudu. Tavalise HTTP-päringu ja Basic-autentimist aktsepteeriva proxy puhul pane proxy sisselogimine selle päringu Proxy-Authorization päisesse.
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)See katkend eeldab, et rakendusel on juba oma reactor. Meetod, URI ja näidatud päiseandmed kasutavad baite. Hoidke tegelikud volitused rakenduse volituste allikas; kohatäide näitab ainult, kuidas päis koostatakse. Base64 on kodeering, seega konfidentsiaalsus sõltub sellest ühendusest, mis seda edastab.
Tagastatud Deferred annab vastuseobjekti. Selle objekti vastuvõtmine ei kogu vastuse keha; lugege seda dokumenteeritud keha lugemise liidese kaudu ja käsitlege asünkroonseid tõrkeid. Endpointi ajalimiit piirab ühenduse loomist, mitte kogu vastuse eluiga.
Näide kasutab teadlikult HTTP-sihtkohta. See ei lisa HTTPS-i jaoks CONNECT-läbirääkimisi ainult URI skeemi muutmisega.