Maida URL ɗin wakili na HTTP zuwa ƙarshen Twisted
Raba URL ɗin wakili na HTTP na al'ada zuwa mai masauki da tashar jiragen ruwa maimakon mika shi a matsayin nahawun bayanin ƙarshen Twisted.
Ƙimar wakili ta al'ada kamar http://proxy.example:8080 URL ce. clientFromString na Twisted yana karɓar bayanin ƙarshe, kamar tcp:host=proxy.example:port=8080. Zaren biyu suna bayyana bayanai masu alaƙa da nahawu daban-daban.
Idan aikace-aikacen yana karɓar URL ɗin wakili na HTTP na al'ada, raba shi kafin ƙirƙirar ƙarshen:
import os
from urllib.parse import urlsplit
from twisted.internet.endpoints import HostnameEndpoint
from twisted.web.client import ProxyAgent
proxy = urlsplit(os.environ['http_proxy'])
if proxy.scheme != 'http' or not proxy.hostname:
raise ValueError('Expected an HTTP proxy URL')
port = proxy.port if proxy.port is not None else 80
endpoint = HostnameEndpoint(reactor, proxy.hostname, port, timeout=5)
agent = ProxyAgent(endpoint, reactor=reactor)
Sashin yana ɗauka cewa aikace-aikacen yana da reactor ɗinsa tuni. Ƙayyade ainihin tashar wakili a cikin saitin lokacin da ba ita ce tsohuwar URL ɗin HTTP ba. Jerin wakilan HTTP yana ba da ƴan takarar ƙarshe don buƙatun HTTP na jama'a da aka yarda ba tare da asusun wakili ba. HostnameEndpoint kuma yana guje wa saka sunan mai masauki cikin wani zaren saiti da aka raba da hanji.
Wannan yana juyar da shigarwar hanyar kawai. Shaidun da aka saka a cikin URL ba sa zama kanun izini kawai saboda an raba mai masauki da tashar. Ba da duk wani ingantaccen tabbacin wakili da ake buƙata ta tsarin tabbatar da buƙatar. Don manufar HTTP mai sauƙi da mai shiga tsakani da ke ba da Basic, kanun buƙatar Basic na ProxyAgent suna ba da irin wannan tsari.
URL ɗin wakili na HTTPS yana buƙatar haɗin da zai iya TLS zuwa wakilin. URL ɗin SOCKS yana buƙatar tattaunawar SOCKS. Babu ɗayan da ake aiwatarwa ta hanyar aika waɗannan makirci zuwa sauƙin juyar da ƙarshen HTTP ProxyAgent.