Twisted ProxyAgent: Basic autentifikazioa HTTP arrunterako
Bidali autentifikatutako HTTP eskaera arrunta Twisted ProxyAgent baten bidez, eskaera-buruletako balioak byte gisa erabiliz.
ProxyAgent hari ematen zaion endpointaren bidez konektatzen da. HTTP eskaera arrunt bat eta Basic autentifikazioa onartzen duen proxy batentzat, jarri proxyaren saio-hasiera eskaera horren Proxy-Authorization buruan.
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)Zati honek suposatzen du aplikazioak baduela bere reactor-a. Metodoak, URIak eta erakutsitako buru-datuek byteak erabiltzen dituzte. Gorde benetako kredentzialak aplikazioaren kredentzialen iturrian; leku-markak soilik erakusten du nola eraikitzen den burua. Base64 kodeketa bat da, beraz konfidentzialtasuna garraiatzen duen konexioaren mende dago.
Itzulitako Deferred-ek erantzun-objektu bat ematen du. Objektu hori jasotzeak ez du erantzun-gorputza biltzen; irakurri gorputza irakurtzeko interfaze dokumentatuaren bidez eta kudeatu hutsegite asinkronoak. Endpointaren denbora-mugak konexioaren ezarpena mugatzen du, ez erantzunaren bizitza osoa.
Adibideak HTTP helmuga erabiltzen du nahita. Ez dio HTTPSrako CONNECT negoziaziorik gehitzen URIaren eskema aldatuta soilik.