Twisted ProxyAgent: Pengesahan Basic untuk HTTP biasa
Hantar permintaan HTTP biasa yang disahkan melalui Twisted ProxyAgent dengan pengepala permintaan bernilai bait.
ProxyAgent bersambung melalui endpoint yang diberikan kepadanya. Untuk permintaan HTTP biasa dan proxy yang menerima pengesahan Basic, letakkan log masuk proxy pada pengepala Proxy-Authorization permintaan itu.
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)Serpihan ini menganggap aplikasi sudah mempunyai reactor-nya. Kaedah, URI dan data pengepala yang ditunjukkan menggunakan bait. Simpan kelayakan sebenar dalam sumber kelayakan aplikasi; pemegang tempat hanya menunjukkan cara pengepala dibina. Base64 ialah pengekodan, jadi kerahsiaan bergantung pada sambungan yang membawanya.
Deferred yang dikembalikan menghasilkan objek respons. Menerima objek itu tidak mengumpul badan respons; bacalah melalui antara muka pembacaan badan yang didokumenkan dan kendalikan kegagalan tak segerak. Had masa endpoint mengehadkan pembentukan sambungan, bukan keseluruhan hayat respons.
Contoh ini sengaja menggunakan destinasi HTTP. Ia tidak menambah rundingan CONNECT untuk HTTPS hanya dengan menukar skema URI.