ProxyAgent var ātri izveidot savienojumu un pēc tam neierobežoti gaidīt atbildes saturu. Tā proxy galapunkta savienojuma taimauts neapraksta šo vēlāko gaidīšanu.

Veidojot aģentu, galapunktā iestatiet savienojuma ierobežojumu. Tālāk esošajam publiskajam HTTP pieprasījumam neautentificēts kandidāts no HTTP proxy saraksta var aizstāt adresi, ja publiskie starpnieki ir atļauti:

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

Mazai atbildei, ko plānojat savākt atmiņā, pirms termiņa pievienošanas iekļaujiet satura lasīšanu Deferred ķēdē:

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()))

Fragments pieņem, ka lietojumprogrammai jau ir savs reactor un konfigurēts aģents. ProxyAgent pieprasījuma Deferred atgriež atbildes objektu; readBody atgriež satura Deferred. Tā atgriešana no callback liek ķēdei gaidīt arī šo darbību.

Novietojumam ir nozīme. Twisted piemēro addTimeout darbam, ko attēlo pirms tā instalētie callback. Vēlāka satura lasītāja pievienošana aprakstītu citu robežu. Šajā izkārtojumā taimeris sākas, kad tiek izsaukts addTimeout, un aptver gaidošo pieprasījumu un satura darbu šajā ķēdē.

Lieliem vai neierobežotiem saturiem izmantojiet straumēšanas patērētāju un tā pabeigšanu attēlojiet tāpat. Klienta puses termiņš ierobežo, cik ilgi jūsu lietojumprogramma gaida; tas nepārkonfigurē paša proxy augšupējā savienojuma taimautu.

Saistītie raksti