د Python TCP ساکټونو لپاره SOCKS پوهېدونکی نښلونکی
د پراکسي پوهېدونکی ساکټ نښلونکی غوره کړئ او د هغې پوښ د Python د ټول بهیر ساکټ پلي کولو څخه جلا وساتئ.
یو ساده Python ساکټ یوازې د دې لپاره چې http_proxy شته، د پراکسي سره خبرې نه کوي. د هغه اپلیکیشن لپاره چې خپل TCP پروتوکول وایي، داسې نښلونکی وکاروئ چې د پراکسي په پای کې خدمت پوهېږي.
که PySocks لا دمخه شته، اړیکه په روښانه ډول جوړه کړئ:
import socks
with socks.socksocket() as connection:
connection.set_proxy(socks.SOCKS5, '203.0.113.10', 1080)
connection.settimeout(10)
connection.connect(('example.com', 12345))
# Exchange the destination protocol here.
د اسنادو پته او د هدف پورټ بدل کړئ. د اجازه ورکړل شوي عام هدف لپاره، یوازې د دې له کتلو وروسته چې د اپلیکیشن هدف پورټ ته اجازه ورکوي، له SOCKS5 پراکسي لیست څخه نوماند غوره کړئ. نصب شوی پاکیج، ملاتړ شوي میتودونه او د پای اړتیاوې د PySocks انٹرفیس سره وګورئ.
د اپلیکیشن پاتې برخه خپل پروتوکول د دې جوړې شوې اړیکې له لارې تبادله کوي. که هغه پروتوکول TLS کاروي، د پراکسي خبرو وروسته یې پیل کړئ او د اصلي هدف هوسټ نوم تایید کړئ. د پراکسي تصدیق لاره جوړوي؛ دا د هدف ننوتل یا کوډ کول نه برابروي.
SOCKS اورېدونکي ته SOCKS خبرې اړینې دي. HTTP خدمت ته د خپل سر TCP هدف لپاره د CONNECT وړ نښلونکی اړین دی او کېدای شي خپل پورټ رد کړي. د غلط لاس ورکولو په پرېښودو سره د پتې بدلولو پرځای، د هغه خدمت مطابق نښلونکی غوره کړئ چې واقعیا وړاندې کېږي.
بدلون سیمه ییز وساتئ. socket.socket ته د کلاس ورکول کېدای شي نااړوند وارداتو او کتابتونونو ته زیان ورسوي. که بل کتابتون د ساکټ جوړولو مالک وي، د هغې مستند شوې اړیکې فابریکه یا پراکسي اختیار وکاروئ؛ هغه قاموس چې هغه هیڅکله نه لولي نشي کولی هغه اړیکه بدله کړي.