http://proxy.example:8080 غا ئوخشاش ئادەتتىكى proxy قىممىتى URL. Twisted نىڭ clientFromString tcp:host=proxy.example:port=8080 غا ئوخشاش ئاخىرلاش نۇقتىسى چۈشەندۈرۈشىنى قوبۇل قىلىدۇ. ئىككى تىزىق مۇناسىۋەتلىك ئۇچۇرلارنى ئوخشىمىغان گرامماتىكىلاردا چۈشەندۈرىدۇ.

ئەگەر پروگرامما ئادەتتىكى HTTP proxy 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 ى ئاللىبۇرۇن بار دەپ پەرەز قىلىدۇ. port HTTP URL نىڭ سۈكۈتتىكى قىممىتى بولمىسا، سەپلىمىدە ھەقىقىي proxy port نى بەلگىلەڭ. HTTP proxy تىزىملىكى proxy ھېساباتىسىز رۇخسەت قىلىنغان ئاممىۋى HTTP تەلەپ ئۈچۈن ئاخىرلاش نۇقتىسى نامزاتلىرىنى تەمىنلەيدۇ. HostnameEndpoint يەنە host نامىنى يەنە بىر قوش چېكىت بىلەن ئايرىلغان سەپلىمە تىزىقىغا قىستۇرۇشتىن ساقلىنىدۇ.

بۇ پەقەت يول باشلاش كىرگۈزۈشىنى ئايلاندۇرىدۇ. URL غا قىستۇرۇلغان ھېسابات ئۇچۇرلىرى پەقەت host ۋە port بۆلۈنگەنلىكتىنلا ئىجازەت ماۋزۇسىغا ئايلانمايدۇ. زۆرۈر قوللانغان proxy دەلىللەشنى تەلەپنىڭ دەلىللەش تەرتىپى ئارقىلىق تەمىنلەڭ. ئاددىي HTTP نىشانى ۋە Basic تەمىنلەيدىغان ۋاستىچى ئۈچۈن، ProxyAgent نىڭ Basic تەلەپ ماۋزۇلىرى مۇشۇنداق بىر تەرتىپنى تەمىنلەيدۇ.

HTTPS proxy URL proxy غا TLS قابىلىيىتى بار ئۇلىنىشنى تەلەپ قىلىدۇ. SOCKS URL SOCKS سۆھبىتىنى تەلەپ قىلىدۇ. ئىككىسىمۇ بۇ سىخېمىلارنى ئاددىي HTTP ProxyAgent ئاخىرلاش نۇقتىسى ئايلاندۇرۇشىغا ئەۋەتىش ئارقىلىق ئەمەلگە ئاشۇرۇلمايدۇ.

مۇناسىۋەتلىك ماقالىلەر