ឧបករណ៍ភ្ជាប់ដែលដឹងពី SOCKS សម្រាប់ Python TCP sockets
ជ្រើសរើសឧបករណ៍ភ្ជាប់ socket ដែលដឹងពី proxy ហើយរក្សាវិសាលភាពរបស់វាដាច់ដោយឡែកពីការអនុវត្ត socket ទូទាំងដំណើរការរបស់ Python។
socket Python ធម្មតាមិនចរចា proxy ដោយសារ http_proxy មាននោះទេ។ សម្រាប់កម្មវិធីដែលនិយាយពិធីការ TCP ផ្ទាល់ខ្លួន សូមប្រើឧបករណ៍ភ្ជាប់ដែលយល់ពីសេវានៅចុងបញ្ចប់ proxy។
នៅពេល 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.
ជំនួសអាសយដ្ឋានឯកសារ និងច្រកគោលដៅ។ សម្រាប់គោលដៅសាធារណៈដែលត្រូវបានអនុញ្ញាត សូមជ្រើសរើសបេក្ខជនពី បញ្ជី proxy SOCKS5 បន្ទាប់ពីពិនិត្យថាវាអនុញ្ញាតច្រកគោលដៅរបស់កម្មវិធី។ ពិនិត្យកញ្ចប់ដែលបានដំឡើង វិធីសាស្ត្រដែលគាំទ្រ និងតម្រូវការចុងបញ្ចប់ធៀបនឹង ចំណុចប្រទាក់ PySocks។
កម្មវិធីដែលនៅសល់ផ្លាស់ប្តូរពិធីការរបស់វាតាមរយៈការតភ្ជាប់ដែលបានបង្កើតនេះ។ ប្រសិនបើពិធីការនោះប្រើ TLS សូមចាប់ផ្តើមវាបន្ទាប់ពីការចរចា proxy ហើយផ្ទៀងផ្ទាត់ឈ្មោះម៉ាស៊ីនគោលដៅពិតប្រាកដ។ ការផ្ទៀងផ្ទាត់អត្តសញ្ញាណ proxy បង្កើតផ្លូវ; វាមិនផ្តល់ការចូលគោលដៅ ឬ ការអ៊ិនគ្រីប នោះទេ។
SOCKS listener ត្រូវការការចរចា SOCKS។ សេវា HTTP ត្រូវការឧបករណ៍ភ្ជាប់ដែលអាច CONNECT សម្រាប់គោលដៅ TCP តាមអំពើចិត្ត ហើយអាចបដិសេធច្រករបស់វា។ ជ្រើសរើសឧបករណ៍ភ្ជាប់ពីសេវាដែលផ្តល់ជូនពិតប្រាកដ ជាជាងការផ្លាស់ប្តូរអាសយដ្ឋានខណៈដែលទុកការចាប់ដៃខុស។
រក្សាការជំនួសឱ្យនៅក្នុងតំបន់។ ការកំណត់ class ទៅ socket.socket អាចប៉ះពាល់ដល់ការនាំចូល និងបណ្ណាល័យដែលមិនពាក់ព័ន្ធ។ ប្រសិនបើបណ្ណាល័យផ្សេងកាន់កាប់ការបង្កើត socket សូមប្រើ factory តភ្ជាប់ ឬជម្រើស proxy ដែលបានចងក្រងរបស់វា; វចនានុក្រមដែលវាមិនដែលអានមិនអាចផ្លាស់ប្តូរការតភ្ជាប់នោះទេ។