Twisted ProxyAgent․ Basic նույնականացում սովորական HTTP-ի համար
Ուղարկեք նույնականացված սովորական HTTP հարցում Twisted ProxyAgent-ով՝ բայթային արժեքներով հարցման վերնագրերով։
ProxyAgent-ը միանում է իրեն տրված endpoint-ով։ Սովորական HTTP հարցման և Basic նույնականացում ընդունող proxy-ի դեպքում proxy-ի մուտքանունը դրեք այդ հարցման Proxy-Authorization վերնագրում։
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)Այս հատվածը ենթադրում է, որ հավելվածն արդեն ունի իր reactor-ը։ Մեթոդը, URI-ն և օրինակում ցուցադրված վերնագրի տվյալները օգտագործում են բայթեր։ Իրական հավատարմագրերը պահեք հավելվածի հավատարմագրերի աղբյուրում. տեղապահը միայն ցույց է տալիս, թե ինչպես է կառուցվում վերնագիրը։ Base64-ը կոդավորում է, ուստի գաղտնիությունը կախված է այն կապից, որը տեղափոխում է այն։
Վերադարձված Deferred-ը տալիս է պատասխանի օբյեկտ։ Այդ օբյեկտը ստանալը չի հավաքում պատասխանի մարմինը. կարդացեք այն մարմնի ընթերցման փաստաթղթավորված ինտերֆեյսով և կառավարեք ասինխրոն խափանումները։ endpoint-ի ժամկետը սահմանափակում է կապի հաստատումը, ոչ թե պատասխանի ամբողջ կյանքը։
Օրինակը դիտավորյալ օգտագործում է HTTP նպատակակետ։ Այն CONNECT բանակցություն չի ավելացնում HTTPS-ի համար միայն URI սխեման փոխելով։