Twisted ProxyAgent: ძირითადი ავთენტიფიკაცია ჩვეულებრივი 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 სქემის შეცვლით.