Twisted ProxyAgent: baza aŭtentigo por simpla HTTP
Sendu aŭtentigitan simplan HTTP-peton per Twisted ProxyAgent kun bajtaj valoroj en la petaj kaplinioj.
ProxyAgent konektiĝas per la endpoint, kiun oni donas al ĝi. Por simpla HTTP-peto kaj prokuro, kiu akceptas bazan aŭtentigon, metu la prokuran ensaluton en la kaplinion Proxy-Authorization de tiu peto.
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)Ĉi tiu fragmento supozas, ke la aplikaĵo jam havas sian reactor. La metodo, la URI kaj la montritaj kaplinio-datumoj uzas bajtojn. Konservu la verajn akreditaĵojn en la akreditaĵa fonto de la aplikaĵo; la anstataŭilo nur montras, kiel la kaplinio estas konstruata. Base64 estas kodado, do la konfideco dependas de la konekto, kiu transportas ĝin.
La redonita Deferred liveras respondan objekton. Ricevi tiun objekton ne kolektas la respondan korpon; legu ĝin per la dokumentita interfaco por legi la korpon kaj traktu nesinkronajn malsukcesojn. La tempolimo de la endpoint limigas la establadon de la konekto, ne la tutan vivon de la respondo.
La ekzemplo intence uzas HTTP-celon. Ĝi ne aldonas CONNECT-interkonsenton por HTTPS simple ŝanĝante la skemon de la URI.