Twisted ProxyAgent: dilysu sylfaenol ar gyfer HTTP plaen
Anfonwch gais HTTP plaen wedi'i ddilysu trwy Twisted ProxyAgent gan ddefnyddio penawdau cais â gwerthoedd beit.
Mae ProxyAgent yn cysylltu trwy'r endpoint a roddir iddo. Ar gyfer cais HTTP plaen a phroxy sy'n derbyn dilysu sylfaenol, rhowch fanylion mewngofnodi'r proxy ar bennawd Proxy-Authorization y cais hwnnw.
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)Mae'r darn hwn yn tybio bod gan y rhaglen ei reactor yn barod. Mae'r dull, y URI a'r data pennawd a ddangosir yn defnyddio beit. Cadwch y manylion mewngofnodi go iawn yn ffynhonnell ddilysu'r rhaglen; dim ond dangos sut y mae'r pennawd yn cael ei adeiladu y mae'r deiliad lle. Mae Base64 yn amgodio, felly mae cyfrinachedd yn dibynnu ar y cysylltiad sy'n ei gludo.
Mae'r Deferred a ddychwelir yn cynhyrchu gwrthrych ymateb. Nid yw derbyn y gwrthrych hwnnw yn casglu corff yr ymateb; darllenwch ef drwy'r rhyngwyneb darllen corff a ddogfennwyd a thrin methiannau asyncronig. Mae terfyn amser yr endpoint yn cyfyngu ar sefydlu'r cysylltiad, nid ar oes gyflawn yr ymateb.
Mae'r enghraifft yn defnyddio cyrchfan HTTP yn fwriadol. Nid yw'n ychwanegu negodi CONNECT ar gyfer HTTPS drwy newid cynllun yr URI yn unig.