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ą.

Susiję straipsniai