Twisted ProxyAgent: osnovno preverjanje za navaden HTTP
Pošljite preverjeno navadno zahtevo HTTP prek Twisted ProxyAgent z glavami zahteve z bajtnimi vrednostmi.
ProxyAgent se poveže prek endpointa, ki mu je dodeljen. Za navadno zahtevo HTTP in proxy, ki sprejema osnovno preverjanje, vstavite prijavo proxyja v glavo Proxy-Authorization te zahteve.
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)Ta del predpostavlja, da ima aplikacija že svoj reactor. Metoda, URI in prikazani podatki glave uporabljajo bajte. Prave poverilnice hranite v viru poverilnic aplikacije; nadomestni znak samo prikazuje, kako se glava sestavi. Base64 je kodiranje, zato je zaupnost odvisna od povezave, ki jo prenaša.
Vrnjeni Deferred vrne objekt odgovora. Prejem tega objekta ne zajame telesa odgovora; preberite ga prek dokumentiranega vmesnika za branje telesa in obravnavajte asinhrone napake. Časovna omejitev endpointa omejuje vzpostavitev povezave, ne celotne življenjske dobe odgovora.
Primer namenoma uporablja cilj HTTP. Ne doda pogajanja CONNECT za HTTPS zgolj s spremembo sheme URI.