Twisted ProxyAgent: osnovna autentifikacija za obični HTTP
Pošaljite autentifikovani obični HTTP zahtev kroz Twisted ProxyAgent sa bajtovnim vrednostima u zaglavljima zahteva.
ProxyAgent se povezuje kroz endpoint koji mu se dostavlja. Za obični HTTP zahtev i proxy koji prihvata osnovnu autentifikaciju, stavite prijavu na proxy u zaglavlje Proxy-Authorization tog zahteva.
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 isečak pretpostavlja da aplikacija već ima svoj reactor. Metod, URI i prikazani podaci zaglavlja koriste bajtove. Čuvajte stvarne akreditive u izvoru akreditiva aplikacije; rezervisano mesto samo pokazuje kako se zaglavlje gradi. Base64 je kodiranje, pa poverljivost zavisi od veze koja ga prenosi.
Vraćeni Deferred daje objekat odgovora. Primanje tog objekta ne prikuplja telo odgovora; pročitajte ga kroz dokumentovani interfejs za čitanje tela i obrađujte asinhrone greške. Vremensko ograničenje endpointa ograničava uspostavljanje veze, ne ceo životni vek odgovora.
Primer namerno koristi HTTP odredište. On ne dodaje CONNECT pregovaranje za HTTPS samo promenom šeme URI-ja.