د http://proxy.example:8080 په څېر عادي پروکسي ارزښت یو URL دی. د Twisted clientFromString د tcp:host=proxy.example:port=8080 په څېر د پای ټکي بیان مني. دواړه تارونه اړوند معلومات په بېلو ګرامرونو بیانوي.

که چېرې اپلیکیشن عادي HTTP پروکسي URL ومني، د پای ټکي له جوړولو مخکې یې ووېشئ:

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)

دا برخه فرض کوي چې اپلیکیشن لا دمخه خپل reactor لري. کله چې پورټ د HTTP URL ډیفالټ نه وي، په ترتیباتو کې ریښتینی پروکسي پورټ وټاکئ. د HTTP پروکسي لیست د پروکسي حساب پرته د اجازه ورکړل شوې عامه HTTP غوښتنې لپاره د پای ټکي نوماندان وړاندې کوي. HostnameEndpoint هم له دې څخه ډډه کوي چې کوربه نوم په بل د کولون په واسطه جلا شوي ترتیباتو تار کې ځای پرځای کړي.

دا یوازې د لارښوونې انپټ بدلوي. په URL کې ځای پرځای شوي اسناد یوازې د دې له امله چې کوربه او پورټ ووېشل شول د اجازې سرلیک نه کیږي. اړین ملاتړ شوی پروکسي تصدیق د غوښتنې د تصدیق ترتیباتو له لارې وړاندې کړئ. د ساده HTTP منزل او د Basic وړاندې کوونکي منځګړي لپاره، د ProxyAgent Basic غوښتنې سرلیکونه داسې یو ترتیب وړاندې کوي.

د HTTPS پروکسي URL د پروکسي سره TLS وړ اړیکه غواړي. د SOCKS URL د SOCKS خبرو اترو غوښتنه کوي. دواړه د دې سکیمونو په ساده HTTP ProxyAgent پای ټکي بدلون کې لېږلو سره نه عملي کیږي.

اړوندې مقالې