ProxyAgent verbënnt sech iwwer den Endpoint, deen him ginn ass. Bei enger einfacher HTTP-Ufro an engem Proxy, deen Basic-Authentifizéierung akzeptéiert, gehéiert de Proxy-Login an den Proxy-Authorization-Header vun där Ufro.

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)

Dëse Fragment setzt viraus, datt d'Applikatioun hire Reactor schonn huet. D'Method, den URI an déi gewisen Headerdaten benotze Bytes. Richteg Authentifikatiounsdonnéeë gehéieren an d'Quell vun der Applikatioun; den Platzhalter weist just, wéi den Header opgebaut gëtt. Base64 ass eng Kodéierung, also hänkt d'Vertraulechkeet vun der Verbindung of, déi se transportéiert.

Den zréckginnene Deferred liwwert en Äntwert-Objet. Den Empfang vun deem Objet samelecht den Äntwertkierper net; liest en iwwer déi dokumentéiert Interface fir de Kierper ze liesen a behandelt asynchron Feeler. Den Timeout vum Endpoint begrenzt den Opbau vun der Verbindung, net déi ganz Liewensdauer vun der Äntwert.

D'Beispill benotzt bewosst en HTTP-Zil. Et füügt keng CONNECT-Verhandlung fir HTTPS dobäi, just andeems den URI-Schema geännert gëtt.

Ähnlech Artikelen