Twisted ProxyAgent: Autentikasi Basic untuk HTTP Biasa
Kirim permintaan HTTP biasa yang terautentikasi melalui Twisted ProxyAgent dengan header permintaan bernilai byte.
ProxyAgent terhubung melalui endpoint yang diberikan kepadanya. Untuk permintaan HTTP biasa dan proxy yang menerima autentikasi Basic, letakkan login proxy pada header Proxy-Authorization permintaan tersebut.
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)Fragmen ini mengasumsikan aplikasi sudah memiliki reactor-nya. Metode, URI, dan data header yang dicontohkan menggunakan byte. Simpan kredensial asli di sumber kredensial aplikasi; placeholder hanya menunjukkan bagaimana header dibentuk. Base64 adalah pengodean, jadi kerahasiaan bergantung pada koneksi yang membawanya.
Deferred yang dikembalikan menghasilkan objek respons. Menerima objek itu tidak mengumpulkan body respons; bacalah melalui antarmuka pembacaan body yang didokumentasikan dan tangani kegagalan asinkron. Batas waktu endpoint membatasi pembentukan koneksi, bukan seluruh masa hidup respons.
Contoh ini sengaja memakai tujuan HTTP. Contoh ini tidak menambahkan negosiasi CONNECT untuk HTTPS hanya dengan mengganti skema URI.