Twisted ProxyAgent: Basic-godkendelse til almindelig HTTP
Send en godkendt almindelig HTTP-anmodning gennem Twisted ProxyAgent med byte-værdier i anmodningsheadere.
ProxyAgent forbinder gennem det endpoint, den får tildelt. Til en almindelig HTTP-anmodning og en proxy, der accepterer Basic-godkendelse, sættes proxy-login på anmodningens Proxy-Authorization-header.
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)Dette uddrag forudsætter, at applikationen allerede har sin reactor. Metoden, URI'en og de viste headerdata bruger bytes. Opbevar rigtige legitimationsoplysninger i applikationens kilde til legitimationsoplysninger; pladsholderen viser kun, hvordan headeren opbygges. Base64 er en kodning, så fortroligheden afhænger af den forbindelse, der bærer den.
Den returnerede Deferred giver et response-objekt. At modtage objektet indsamler ikke response-bodyen; læs den gennem det dokumenterede interface til body-læsning, og håndtér asynkrone fejl. Endpointets timeout begrænser forbindelsesoprettelsen, ikke hele response-levetiden.
Eksemplet bruger bevidst en HTTP-destination. Det tilføjer ikke en CONNECT-forhandling for HTTPS alene ved at ændre URI-skemaet.