Twisted ProxyAgent: basic hitelesítés egyszerű HTTP-hez
Küldjön hitelesített egyszerű HTTP-kérést Twisted ProxyAgent-en át bájtértékű kérésfejlécekkel.
A ProxyAgent a neki átadott endpointon keresztül kapcsolódik. Egyszerű HTTP-kérés és basic hitelesítést elfogadó proxy esetén a proxy bejelentkezését a kérés Proxy-Authorization fejlécébe kell tenni.
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)Ez a részlet feltételezi, hogy az alkalmazásnak már van reactorja. A metódus, az URI és a szemléltetett fejlécadatok bájtokat használnak. A valódi hitelesítő adatokat az alkalmazás hitelesítőadat-forrásában tartsa; a helyőrző csak azt mutatja, hogyan épül fel a fejléc. A Base64 kódolás, ezért a bizalmasság a szállító kapcsolattól függ.
A visszaadott Deferred egy válaszobjektumot ad. Az objektum fogadása nem gyűjti össze a válasz törzsét; olvassa el a dokumentált törzsolvasó felületen keresztül, és kezelje az aszinkron hibákat. Az endpoint időtúllépése a kapcsolat létrejöttét korlátozza, nem a válasz teljes élettartamát.
A példa szándékosan HTTP-célt használ. Nem ad hozzá CONNECT-egyeztetést a HTTPS-hez csupán az URI-séma megváltoztatásával.