Twisted ProxyAgent: pagrindinis autentifikavimas paprastam HTTP
Siųskite autentifikuotą paprastą HTTP užklausą per Twisted ProxyAgent su baitų reikšmių užklausos antraštėmis.
ProxyAgent jungiasi per jam pateiktą endpoint. Jei tai paprasta HTTP užklausa, o proxy priima pagrindinį autentifikavimą, įdėkite proxy prisijungimą į tos užklausos Proxy-Authorization antraštę.
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)Šis fragmentas daro prielaidą, kad programa jau turi savo reactor. Metodas, URI ir pavyzdyje parodyti antraštės duomenys naudoja baitus. Tikrus kredencialus laikykite programos kredencialų šaltinyje; vietos žymeklis tik parodo, kaip sudaroma antraštė. Base64 yra kodavimas, todėl konfidencialumas priklauso nuo ryšio, kuriuo jis perduodamas.
Grąžintas Deferred pateikia atsakymo objektą. To objekto gavimas nesurenka atsakymo turinio; skaitykite jį per dokumentuotą turinio skaitymo sąsają ir tvarkykite asinchronines klaidas. Endpoint laiko limitas riboja ryšio užmezgimą, o ne visą atsakymo gyvavimo laiką.
Pavyzdys sąmoningai naudoja HTTP paskirties vietą. Jis neprideda CONNECT derybų HTTPS, vien pakeitus URI schemą.