U beddel URL-ka proxy HTTP oo u noqo barta Twisted
U kala qaybi URL-ka caadiga ah ee proxy HTTP oo u noqo martigeliyaha iyo dekedda halkii aad u gudbin lahayd sida naxwaha sharraxaadda barta Twisted.
Qiimaha proxy caadiga ah sida http://proxy.example:8080 waa URL. clientFromString ee Twisted wuxuu aqbalaa sharraxaadda barta, sida tcp:host=proxy.example:port=8080. Labada xaraf waxay ku sharraxaan macluumaad la xiriira naxwe kala duwan.
Haddii barnaamijku aqbalo URL proxy HTTP caadi ah, u kala qaybi ka hor inta aan la abuurin barta:
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)
Qaybtu waxay u malaynaysaa in barnaamijku horey u lahaa reactor-kiisa. Ku qeex dekedda proxy dhabta ah ee qaabeynta marka aysan ahayn tan caadiga ah ee URL HTTP. Liiska proxy HTTP wuxuu bixiyaa musharraxiin barta codsi HTTP dadweyne oo la oggolaaday oo aan lahayn akoon proxy. HostnameEndpoint sidoo kale wuxuu ka fogaadaa inuu magaca martigeliyaha geliyo xaraf qaabeyn kale oo colon ku kala go'an.
Tani waxay beddeshaa kaliya gelinta marin-bixinta. Aqoonsiga ku qarsoon URL ma noqonayo cinwaan oggolaansho kaliya sababtoo ah martigeliyaha iyo dekedda ayaa la kala qaybiyay. Bixi wixii aqoonsi proxy ah oo la taageeray loo baahan yahay iyada oo loo marayo habaynta aqoonsiga codsiga. Ujeeddo HTTP fudud iyo dhexdhexaadiye bixiya Basic, cinwaannada codsiga Basic ee ProxyAgent waxay bixiyaan hal habayn oo kale.
URL proxy HTTPS wuxuu u baahan yahay xiriir awood u leh TLS oo la xiriira proxy-ga. URL SOCKS wuxuu u baahan yahay gorgortan SOCKS. Midkoodna laguma hirgelin in skhimyadaas loo diro beddelka barta HTTP ProxyAgent ee fudud.