ProxyAgent si degdeg ah ayuu u xidhiidhi karaa kadibna si aan xad lahayn ayuu u sugayaa jir jawaab. Waqtiga xidhiidhka ee barta dambe ee proxy ma qeexayo sugitaankaas dambe.

Samee xad xidhiidh oo barta dambe marka aad dhisayso wakiilka. Codsiga HTTP ee dadweynaha ee hoose, mushroom aan la xaqiijin oo ka yimid liiska proxy HTTP ayaa beddeli kara cinwaanka haddii dhexdhexaadiyeyaasha dadweynaha la oggolaaday:

endpoint = TCP4ClientEndpoint(reactor, 'proxy.example', 8080,
                              timeout=5)
agent = ProxyAgent(endpoint, reactor=reactor)

Jawaab yar oo aad rabto inaad xusuusta ku ururiso, ku dar akhrinta jirka silsiladda Deferred ka hor intaadan ku darin waqtiga:

from twisted.web.client import readBody

d = agent.request(b'GET', b'http://example.com/')
d.addCallback(readBody)
d.addTimeout(10, reactor)
d.addCallback(lambda body: print(len(body)))
d.addErrback(lambda failure: print(failure.getErrorMessage()))

Qaybtu waxay u malaynaysaa in codsiga uu horey u lahaa reactor iyo wakiil habaysan. Deferred-ka codsiga ProxyAgent wuxuu soo saaraa shay jawaab; readBody waxay soo celisaa Deferred-ka jirka. Ku soo celinta callback-ka waxay silsiladda ka dhigtaa mid sugta hawshaas sidoo kale.

Goobtu waa muhiim. Twisted wuxuu addTimeout ku dabaqaa shaqada ay matalaan callback-yada ka hor lagu rakibay. Ku darista akhriye jir kadib waxay qeexi lahayd xad kale. Habayntan, waqtigu wuxuu bilaabmaa marka addTimeout la waco wuxuuna daboolaa codsiga sugaya iyo shaqada jirka silsiladdaas.

Isticmaal isticmaale qulqulaya jirarka waaweyn ama aan xad lahayn oo u matal dhammaystirkiisa si la mid ah. Waqtiga dhinaca macmiilka wuxuu xaddidaa inta codsigagu sugo; ma dib u habeynayo waqtiga xidhiidhka sare ee proxy-ga laftiisa.

Maqaallo la xiriira