Twisted ProxyAgent: základní ověření pro obyčejné HTTP
Odešlete ověřený obyčejný HTTP požadavek přes Twisted ProxyAgent s hlavičkami požadavku v bajtech.
ProxyAgent se připojuje přes endpoint, který mu předáte. Pro obyčejný HTTP požadavek a proxy, která přijímá základní ověření, vložte přihlašovací údaje proxy do hlavičky Proxy-Authorization daného požadavku.
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)Tento úryvek předpokládá, že aplikace už má svůj reactor. Metoda, URI i uvedená data hlavičky používají bajty. Skutečné přihlašovací údaje uchovávejte ve zdroji údajů aplikace; zástupný text jen ukazuje, jak se hlavička sestavuje. Base64 je kódování, takže důvěrnost závisí na spojení, které je přenáší.
Vrácený Deferred poskytne objekt odpovědi. Přijetí tohoto objektu ještě nenačte tělo odpovědi; přečtěte ho přes dokumentované rozhraní pro čtení těla a ošetřete asynchronní selhání. Časový limit endpointu omezuje navázání spojení, ne celou životnost odpovědi.
Příklad záměrně používá HTTP cíl. Nepřidává vyjednávání CONNECT pro HTTPS jen změnou schématu URI.