Twisted ProxyAgent: Basic-todennus tavalliselle HTTP:lle
Lähetä todennettu tavallinen HTTP-pyyntö Twisted ProxyAgentin kautta käyttäen tavuarvoisia pyyntöotsikoita.
ProxyAgent yhdistää sen kautta annettuun endpointiin. Tavallisessa HTTP-pyynnössä ja Basic-todennuksen hyväksyvässä proxyssä proxy-kirjautuminen laitetaan pyynnön Proxy-Authorization-otsikkoon.
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)Tämä katkelma olettaa, että sovelluksella on jo oma reactor. Metodi, URI ja kuvatut otsikkotiedot käyttävät tavuja. Pidä todelliset tunnistetiedot sovelluksen tunnistetietolähteessä; paikkamerkki näyttää vain, miten otsikko rakennetaan. Base64 on koodaus, joten luottamuksellisuus riippuu yhteydestä, joka sen kuljettaa.
Palautettu Deferred antaa vastausobjektin. Objektin vastaanottaminen ei kerää vastauksen runkoa; lue se dokumentoidun rungonlukurajapinnan kautta ja käsittele asynkroniset virheet. Endpointin aikakatkaisu rajaa yhteyden muodostusta, ei vastauksen koko elinkaarta.
Esimerkki käyttää tarkoituksella HTTP-kohdetta. Se ei lisää CONNECT-neuvottelua HTTPS:lle pelkästään URI-kaavan vaihtamisella.