Twisted ProxyAgent: osnovna autentifikacija za obični HTTP
Pošaljite autentificirani obični HTTP zahtjev kroz Twisted ProxyAgent koristeći bajtovne vrijednosti u zaglavljima zahtjeva.
ProxyAgent se povezuje kroz endpoint koji mu se dostavi. Za obični HTTP zahtjev i proxy koji prihvata osnovnu autentifikaciju, stavite prijavu na proxy u zaglavlje Proxy-Authorization tog zahtjeva.
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)Ovaj isječak pretpostavlja da aplikacija već ima svoj reactor. Metoda, URI i prikazani podaci zaglavlja koriste bajtove. Čuvajte stvarne akreditive u izvoru akreditiva aplikacije; rezervirano mjesto samo pokazuje kako se zaglavlje gradi. Base64 je kodiranje, pa povjerljivost zavisi od veze koja ga prenosi.
Vraćeni Deferred daje objekat odgovora. Primanje tog objekta ne prikuplja tijelo odgovora; pročitajte ga kroz dokumentirani interfejs za čitanje tijela i obrađujte asinhrone greške. Vremensko ograničenje endpointa ograničava uspostavljanje veze, ne cijeli životni vijek odgovora.
Primjer namjerno koristi HTTP odredište. On ne dodaje CONNECT pregovaranje za HTTPS samo promjenom šeme URI-ja.